(command.CommandList children: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [{<Id.Lit_Colon ':'>} {<include>} {<OPTIONS>}] redirects: [] do_fork: T ) (command.Simple blame_tok: <eval> more_env: [] words: [{<eval>} {($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.Simple blame_tok:<shift> more_env:[] words:[{<shift>}] redirects:[] do_fork:T) (command.Simple blame_tok: <.> more_env: [] words: [{<.>} {($ Id.VSub_Number 1)}] redirects: [] do_fork: T ) (command.ForEach keyword: <Id.KW_For for> iter_names: [i] iterable: (for_iter.Words words: [ {<ACCT>} {<BRACEPAT>} {<ECHOPRINT>} {<ESH>} {<ESHPLUS>} {<FLOAT>} {<FS_3D>} {<IODELAY>} {<JOBS>} {<MULTIBYTE>} {<NEWTEST>} {<OLDTERMIO>} {<OLDTEST>} {<P_UID>} {<PDU>} {<POSIX>} {<RDS>} {<RAWONLY>} {<SEVENBIT>} {<SUID_EXEC>} {<TIMEOUT>} {<VSH>} {<LDYNAMIC>} ] ) body: (command.DoGroup left: <Id.KW_Do do> children: [ (command.Simple blame_tok: <Id.Lit_Colon ':'> more_env: [] words: [ {<Id.Lit_Colon ':'>} {<This>} {<could>} {<be>} {<Id.KW_Done done>} {<with>} {<eval> <Id.Lit_Comma ','>} {<but>} {<eval>} {<broken>} {<Id.KW_In in>} {<some>} {<shells>} ] redirects: [] do_fork: T ) (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {<0>} ) ] redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName i)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <ACCT> pattern: (pat.Words words:[{<ACCT>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName ACCT)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <BRACEPAT> pattern: (pat.Words words:[{<BRACEPAT>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName BRACEPAT)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <ECHOPRINT> pattern: (pat.Words words:[{<ECHOPRINT>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName ECHOPRINT)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <ESH> pattern: (pat.Words words:[{<ESH>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName ESH)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <ESHPLUS> pattern: (pat.Words words:[{<ESHPLUS>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName ESHPLUS)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <FLOAT> pattern: (pat.Words words:[{<FLOAT>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName FLOAT)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <FS_3D> pattern: (pat.Words words:[{<FS_3D>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName FS_3D)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <IODELAY> pattern: (pat.Words words:[{<IODELAY>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName IODELAY)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <JOBS> pattern: (pat.Words words:[{<JOBS>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName JOBS)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <LDYNAMIC> pattern: (pat.Words words:[{<LDYNAMIC>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName LDYNAMIC)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <MULTIBYTE> pattern: (pat.Words words:[{<MULTIBYTE>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName MULTIBYTE)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <NEWTEST> pattern: (pat.Words words:[{<NEWTEST>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName NEWTEST)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <OLDTERMIO> pattern: (pat.Words words:[{<OLDTERMIO>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'#include <sys/termios.h>'>)}] redirects: [ (Redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName tmp) <.c>} ) ] do_fork: T ) (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'#include <sys/termio.h>'>)}] redirects: [ (Redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName tmp) <.c>} ) ] do_fork: T ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.Simple blame_tok: <Id.VSub_DollarName '$CC'> more_env: [] words: [ {($ Id.VSub_DollarName CC)} {<-E>} {($ Id.VSub_DollarName tmp) <.c>} ] 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 ) ] ) then_kw: <Id.KW_Then then> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OLDTERMIO)} ) ] redirects: [] ) ] spids: [296 313] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <OLDTEST> pattern: (pat.Words words:[{<OLDTEST>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName OLDTEST)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <P_UID> pattern: (pat.Words words:[{<P_UID>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName P_UID)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <PDU> pattern: (pat.Words words:[{<PDU>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName PDU)} ) ] redirects: [] ) (command.If if_kw: <Id.KW_If if> arms: [ (IfArm keyword: <Id.KW_If if> cond: (condition.Shell commands: [ (command.AndOr children: [ (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<0>} {<-ne>} {(DQ ($ Id.VSub_DollarName j))}] redirects: [] do_fork: T ) (command.Simple blame_tok: <test> more_env: [] words: [{<test>} {<-f>} {<'/usr/pdu/bin/pwd'>}] redirects: [] do_fork: T ) ] ops: [<Id.Op_DAmp _>] ) ] ) then_kw: <Id.KW_Then then> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [{<echo>} {(DQ <'#define PDUBIN\t1'>)}] redirects: [] do_fork: T ) ] spids: [347 368] ) ] else_action: [] fi_kw: <Id.KW_Fi fi> redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <POSIX> pattern: (pat.Words words:[{<POSIX>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName POSIX)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <RAWONLY> pattern: (pat.Words words:[{<RAWONLY>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName RAWONLY)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <RDS> pattern: (pat.Words words:[{<RDS>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName RDS)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <SEVENBIT> pattern: (pat.Words words:[{<SEVENBIT>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName SEVENBIT)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <SUID_EXEC> pattern: (pat.Words words:[{<SUID_EXEC>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName SUID_EXEC)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <TIMEOUT> pattern: (pat.Words words:[{<TIMEOUT>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName TIMEOUT)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) (CaseArm left: <VSH> pattern: (pat.Words words:[{<VSH>}]) middle: <Id.Right_CasePat _> action: [ (command.ShAssignment left: <Id.Lit_VarLike 'j='> pairs: [ (AssignPair left: <Id.Lit_VarLike 'j='> lhs: (sh_lhs_expr.Name left:<Id.Lit_VarLike 'j='> name:j) op: assign_op.Equal rhs: {($ Id.VSub_DollarName VSH)} ) ] redirects: [] ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) (command.Case case_kw: <Id.KW_Case case> to_match: (case_arg.Word w:{($ Id.VSub_DollarName j)}) arms_start: <Id.KW_In in> arms: [ (CaseArm left: <0> pattern: (pat.Words words:[{<0>} {(DQ )}]) middle: <Id.Right_CasePat _> action: [] right: <Id.Op_DSemi _> ) (CaseArm left: <Id.Lit_Star '*'> pattern: (pat.Words words:[{<Id.Lit_Star '*'>}]) middle: <Id.Right_CasePat _> action: [ (command.Simple blame_tok: <echo> more_env: [] words: [ {<echo>} {(DQ <'#define '> ($ Id.VSub_DollarName i) <'\t'> ($ Id.VSub_DollarName j))} ] redirects: [] do_fork: T ) ] right: <Id.Op_DSemi _> ) ] arms_end: <Id.KW_Esac esac> redirects: [] ) ] right: <Id.KW_Done done> ) redirects: [] ) ] )