(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:P) op: assign_op.Equal rhs: {<'/proc/tty/driver/tty3270'>} spids: [45] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ROOT) op: assign_op.Equal rhs: (word.Empty) spids: [48] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:D) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$ROOT') <'/dev'>} spids: [50] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SUBD) op: assign_op.Equal rhs: {<3270>} spids: [54] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TTY) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$SUBD') <'/tty'>} spids: [57] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TUB) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$SUBD') <'/tub'>} spids: [61] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SCR) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$ROOT') <'/tmp/mkdev3270'>} spids: [65] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SCRTMP) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$SCR') <.a>} spids: [69] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:GETTYLINE) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'> <2345> <Id.Lit_Colon ':'> <respawn> <Id.Lit_Colon ':'> <'/sbin/mingetty'>} spids: [73] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:INITTAB) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$ROOT') <'/etc/inittab'>} spids: [81] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NINITTAB) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$ROOT') <'/etc/NEWinittab'>} spids: [85] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OINITTAB) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$ROOT') <'/etc/OLDinittab'>} spids: [89] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ADDNOTE) op: assign_op.Equal rhs: {(word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) (DQ <'# Additional mingettys for the 3270/tty* driver, tub3270 ---'> (word_part.EscapedLiteral token:<Id.Lit_EscapedChar '\\\\'>) ) } spids: [93] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (command.Pipeline children: [ (command.Simple words: [{<ls>} {($ Id.VSub_DollarName '$P')}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op: <Id.Redir_GreatAnd '2>&'> loc: (redir_loc.Fd fd:2) arg: {<1>} ) ] do_fork: T ) ] negated: T ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [{<modprobe>} {<tub3270>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {<'/dev/null'>} ) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) ] spids: [101 117] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<ls>} {($ Id.VSub_DollarName '$P')}] redirects: [ (redir op:<Id.Redir_Great '>'> loc:(redir_loc.Fd fd:1) arg:{<'/dev/null'>}) (redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>}) ] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<echo>} {(DQ <'#!/bin/sh'>)}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCR')} ) ] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.Simple words: [{<echo>} {(DQ <' '>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCR')} ) ] do_fork: T ) (command.Simple words: [{<echo>} {(DQ <'# Script built by /sbin/config3270'>)}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCR')} ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {<'/dev/dasd'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<rm>} {<-rf>} {(DQ ($ Id.VSub_DollarName '$D') <'/'> ($ Id.VSub_DollarName '$SUBD') <'/*'>)} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCR')} ) ] do_fork: T ) ] spids: [193 206] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {<echo>} { (DQ <'grep -v '> ($ Id.VSub_DollarName '$TTY') <' '> ($ Id.VSub_DollarName '$INITTAB') <' > '> ($ Id.VSub_DollarName '$NINITTAB') ) } ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCRTMP')} ) ] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.Simple words: [ {<echo>} {(DQ <'echo '> ($ Id.VSub_DollarName '$ADDNOTE') <' >> '> ($ Id.VSub_DollarName '$NINITTAB'))} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCRTMP')} ) ] do_fork: T ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {<'/dev/dasd'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<mkdir>} {<-p>} {($ Id.VSub_DollarName '$D') <'/'> ($ Id.VSub_DollarName '$SUBD')} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCR')} ) ] do_fork: T ) ] spids: [262 275] ) ] ) (command.Simple words: [{<echo>} {<Id.Lit_VarLike 'what='> <config>}] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$P')} ) ] do_fork: T ) (command.WhileUntil keyword: <Id.KW_While while> cond: (condition.Shell commands: [ (command.Sentence child: (C {<read>} {<devno>} {<maj>} {<min>}) terminator: <Id.Op_Semi _> ) ] ) body: (command.DoGroup children: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$min')} {<Id.Lit_Equals '='>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:fsmaj) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$maj')} spids: [339] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {<'/dev/dasd'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<mknod>} {($ Id.VSub_DollarName '$D') <'/'> ($ Id.VSub_DollarName '$TUB')} {<c>} {($ Id.VSub_DollarName '$fsmaj')} {<0>} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCR')} ) ] do_fork: T ) (command.Simple words: [ {<echo>} {<chmod>} {<666>} {($ Id.VSub_DollarName '$D') <'/'> ($ Id.VSub_DollarName '$TUB')} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCR')} ) ] do_fork: T ) ] spids: [343 356] ) ] ) ] spids: [323 336] ) (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$maj')} {<Id.Lit_Equals '='>} {<CONSOLE>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {<'/dev/dasd'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<mknod>} {($ Id.VSub_DollarName '$D') <'/'> ($ Id.VSub_DollarName '$TUB') ($ Id.VSub_DollarName '$devno') } {<c>} {($ Id.VSub_DollarName '$fsmaj')} {($ Id.VSub_DollarName '$min')} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCR')} ) ] do_fork: T ) ] spids: [412 425] ) ] ) ] spids: [396 409] ) ] else_action: [ (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {<Id.KW_Bang '!'>} {<-d>} {<'/dev/dasd'>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [ (command.Simple words: [ {<echo>} {<mknod>} {($ Id.VSub_DollarName '$D') <'/'> ($ Id.VSub_DollarName '$TTY') ($ Id.VSub_DollarName '$devno') } {<c>} {($ Id.VSub_DollarName '$maj')} {($ Id.VSub_DollarName '$min')} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCR')} ) ] do_fork: T ) (command.Simple words: [ {<echo>} {<mknod>} {($ Id.VSub_DollarName '$D') <'/'> ($ Id.VSub_DollarName '$TUB') ($ Id.VSub_DollarName '$devno') } {<c>} {($ Id.VSub_DollarName '$fsmaj')} {($ Id.VSub_DollarName '$min')} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCR')} ) ] do_fork: T ) ] spids: [454 467] ) ] ) (command.Simple words: [ {<echo>} { (DQ <'echo t'> ($ Id.VSub_DollarName '$min') ($ Id.VSub_DollarName '$GETTYLINE') <' '> ($ Id.VSub_DollarName '$TTY') ($ Id.VSub_DollarName '$devno') <' >> '> ($ Id.VSub_DollarName '$NINITTAB') ) } ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCRTMP')} ) ] do_fork: T ) ] ) ] ) redirects: [ (redir op: <Id.Redir_Less '<'> loc: (redir_loc.Fd fd:0) arg: {($ Id.VSub_DollarName '$P')} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [ {<echo>} {<mv>} {($ Id.VSub_DollarName '$INITTAB')} {($ Id.VSub_DollarName '$OINITTAB')} ] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCRTMP')} ) ] do_fork: T ) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<1>}) ] ) (command.Simple words: [{<echo>} {<mv>} {($ Id.VSub_DollarName '$NINITTAB')} {($ Id.VSub_DollarName '$INITTAB')}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCRTMP')} ) ] do_fork: T ) (command.Simple words: [{<cat>} {($ Id.VSub_DollarName '$SCRTMP')}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$SCR')} ) ] do_fork: T ) (C {<rm>} {($ Id.VSub_DollarName '$SCRTMP')}) (command.ControlFlow token:<Id.ControlFlow_Exit exit> arg_word:{<0>}) ] )