(command.CommandList children: [ (C {<Id.Lit_Colon ':'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_OS_SH) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [100] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OS) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>}))} spids: [104] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OSREL) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>} {<-r>}))} spids: [111] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OSMAJOR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {<.>} spids: [124] ) ] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<set>} {($ Id.VSub_DollarName '$OSREL')}) terminator: <Id.Op_Semi _> ) (C {<echo>} {($ Id.VSub_Number '$1')}) ] ) ) } spids: [120] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>} {<-m>}))} spids: [138] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE_ARCH) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{<uname>} {<-p>}] redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] do_fork: T ) (C {<echo>} {($ Id.VSub_DollarName '$MACHINE')}) ] ) ) } spids: [147] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$MACHINE_ARCH'))} arms: [ (case_arm pat_list: [ {<unknown>} {<Id.Lit_Star '*'> <Id.Lit_LBracket '['> <Id.KW_Bang '!'> <A-Za-z0-9_-> <Id.Lit_RBracket ']'> <Id.Lit_Star '*'> } ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE_ARCH) op: assign_op.Equal rhs: {(DQ ($ Id.VSub_DollarName '$MACHINE'))} spids: [190] ) ] ) ] spids: [180 188 194 -1] ) ] ) (command.ShFunction name: Which body: (BraceGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_Number '$1'))} arms: [ (case_arm pat_list: [{<-> <Id.Lit_Star '*'>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [223] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [219 221 228 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:t) op: assign_op.Equal rhs: {<-x>} spids: [234] ) ] ) ] spids: [231 232 236 -1] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_Number '$1'))} arms: [ (case_arm pat_list: [{<'/'> <Id.Lit_Star '*'>}] action: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$t')} {($ Id.VSub_Number '$1')}) (C {<echo>} {($ Id.VSub_Number '$1')}) ] ) ] spids: [251 253 266 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_dirs) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {<Id.Lit_Colon ':'>} spids: [285] ) ] ) terminator: <Id.Op_Semi _> ) (C {<echo>} { (braced_var_sub token: <Id.VSub_Number 2> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {($ Id.VSub_DollarName '$PATH')} ) ) } ) ] ) ) } spids: [281] ) ] ) (command.ForEach iter_names: [d] iterable: (for_iter.Words words:[{($ Id.VSub_DollarName '$_dirs')}]) body: (command.DoGroup children: [ (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {($ Id.VSub_DollarName '$t')} {($ Id.VSub_DollarName '$d') <'/'> ($ Id.VSub_Number '$1')} ) (BraceGroup children: [ (command.Sentence child: (C {<echo>} {($ Id.VSub_DollarName '$d') <'/'> ($ Id.VSub_Number '$1')} ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (command.ControlFlow token:<Id.ControlFlow_Break break>) terminator: <Id.Op_Semi _> ) ] ) ] ) ] ) ) ] spids: [269 270 339 -1] ) ] ) ] ) ) (command.ShFunction name: toUpper body: (BraceGroup children: [ (C { (braced_var_sub token: <Id.VSub_Name TR> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<tr>}) ) } {<abcdefghijklmnopqrstuvwxyz>} {<ABCDEFGHIJKLMNOPQRSTUVWXYZ>} ) ] ) ) (command.ShFunction name: toLower body: (BraceGroup children: [ (C { (braced_var_sub token: <Id.VSub_Name TR> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<tr>}) ) } {<ABCDEFGHIJKLMNOPQRSTUVWXYZ>} {<abcdefghijklmnopqrstuvwxyz>} ) ] ) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:K) op: assign_op.Equal rhs: (word.Empty) spids: [393] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$OS')} arms: [ (case_arm pat_list: [{<AIX>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OSMAJOR) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>} {<-v>}))} spids: [408] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OSREL) op: assign_op.Equal rhs: { (DQ ($ Id.VSub_DollarName '$OSMAJOR') <.> (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<uname>} {<-r>}) ) ) } spids: [418] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LOCAL_FS) op: assign_op.Equal rhs: {<jfs>} spids: [432] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PS_AXC) op: assign_op.Equal rhs: {<-e>} spids: [436] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SHARE_ARCH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$OS') <'/'> ($ Id.VSub_DollarName '$OSMAJOR') <.X>} spids: [440] ) ] ) ] spids: [401 402 447 -1] ) (case_arm pat_list: [{<SunOS>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:CHOWN) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<Which>} {<chown>} {<'/usr/etc'> <Id.Lit_Colon ':'> <'/usr/bin'>}) ) } spids: [453] ) ] ) (C {<export>} {<CHOWN>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<Which>} {<arch>} {<'/usr/bin'> <Id.Lit_Colon ':'> <'/usr/ucb'>}) ) } spids: [482] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAILER) op: assign_op.Equal rhs: {<'/usr/ucb/Mail'>} spids: [498] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LOCAL_FS) op: assign_op.Equal rhs: {<4.2>} spids: [502] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$OSREL'))} arms: [ (case_arm pat_list: [{<4.0> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE_ARCH) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<arch>}))} spids: [530] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$MACHINE_ARCH')} spids: [538] ) ] ) ] spids: [517 519 542 -1] ) (case_arm pat_list: [{<4> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE_ARCH) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<arch>}))} spids: [550] ) ] ) ] spids: [545 547 558 -1] ) (case_arm pat_list: [{<5> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:K) op: assign_op.Equal rhs: {<-k>} spids: [566] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LOCAL_FS) op: assign_op.Equal rhs: {<ufs>} spids: [570] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAILER) op: assign_op.Equal rhs: {<mailx>} spids: [574] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PS_AXC) op: assign_op.Equal rhs: {<-e>} spids: [578] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<test>} {<-x>} {<'/usr/xpg4/bin/ln'>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LN) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name LN> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {<Id.Lit_Slash '/'> <usr> <Id.Lit_Slash '/'> <xpg4> <Id.Lit_Slash '/'> <bin> <Id.Lit_Slash '/'> <ln> } ) ) } spids: [598] ) ] ) ] ) ] spids: [561 563 625 -1] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$OS') <'/'> ($ Id.VSub_DollarName '$MACHINE_ARCH'))} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <sun386>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SHARE_ARCH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$MACHINE_ARCH')} spids: [646] ) ] ) ] spids: [642 644 648 -1] ) ] ) ] spids: [449 450 654 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <BSD>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:K) op: assign_op.Equal rhs: {<-k>} spids: [661] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAILER) op: assign_op.Equal rhs: {<'/usr/bin/Mail'>} spids: [665] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LOCAL_FS) op: assign_op.Equal rhs: {<local>} spids: [669] ) ] ) (C {<Id.Lit_Colon ':'>} {($ Id.VSub_Hyphen '$-') <Id.Lit_Comma ','> ($ Id.VSub_DollarName '$ENV')} ) (command.Case to_match: {(DQ ($ Id.VSub_Hyphen '$-') <','> ($ Id.VSub_DollarName '$ENV'))} arms: [ (case_arm pat_list: [ {<Id.Lit_Star '*'> <i> <Id.Lit_Star '*'> <Id.Lit_Comma ','> <Id.Lit_Star '*'>} ] spids: [691 696 698 -1] ) (case_arm pat_list: [ {<Id.Lit_Star '*'> <Id.Lit_Comma ','>} {<Id.Lit_Star '*'> <ENVFILE> <Id.Lit_Star '*'>} ] spids: [701 707 709 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ENV) op: assign_op.Equal rhs: (word.Empty) spids: [715] ) ] ) ] spids: [712 713 716 -1] ) ] ) (command.Case to_match: {($ Id.VSub_DollarName '$OS')} arms: [ (case_arm pat_list: [{<NetBSD>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HOST_ARCH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$MACHINE')} spids: [741] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SHARE_ARCH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$OS') <'/'> ($ Id.VSub_DollarName '$HOST_ARCH')} spids: [745] ) ] ) ] spids: [737 738 751 -1] ) (case_arm pat_list: [{<OpenBSD>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:arch) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {<Which>} {<arch>} {<'/usr/bin'> <Id.Lit_Colon ':'> <'/usr/ucb'> <Id.Lit_Colon ':'> ($ Id.VSub_DollarName '$PATH') } ) ) } spids: [758] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE_ARCH) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (C {($ Id.VSub_DollarName '$arch')} {<-s>}) ) } spids: [774] ) ] ) ] spids: [754 755 784 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:NAWK) op: assign_op.Equal rhs: {<awk>} spids: [790] ) ] ) (C {<export>} {<NAWK>}) ] spids: [656 658 799 -1] ) (case_arm pat_list: [{<HP-UX>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TMP_DIRS) op: assign_op.Equal rhs: {(DQ <'/tmp /usr/tmp'>)} spids: [805] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LOCAL_FS) op: assign_op.Equal rhs: {<hfs>} spids: [811] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MAILER) op: assign_op.Equal rhs: {<mailx>} spids: [815] ) ] ) (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_shell) op: assign_op.Equal rhs: {<'/bin/ksh'>} spids: [823] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:ENV) op: assign_op.Equal rhs: (word.Empty) spids: [827] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$OSREL'))} arms: [ (case_arm pat_list: [{<Id.Lit_QMark '?'> <.09> <Id.Lit_Star '*'>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OSMAJOR) op: assign_op.Equal rhs: {<9>} spids: [848] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PS_AXC) op: assign_op.Equal rhs: {<-e>} spids: [852] ) ] ) ] spids: [843 846 854 -1] ) (case_arm pat_list: [{<Id.Lit_QMark '?'> <.10> <Id.Lit_Star '*'>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OSMAJOR) op: assign_op.Equal rhs: {<10>} spids: [862] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PS_AXC) op: assign_op.Equal rhs: {<-e>} spids: [866] ) ] ) ] spids: [857 860 868 -1] ) ] ) ] spids: [801 802 874 -1] ) (case_arm pat_list: [{<IRIX>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LOCAL_FS) op: assign_op.Equal rhs: {<efs>} spids: [880] ) ] ) ] spids: [876 877 884 -1] ) (case_arm pat_list: [{<Interix>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE) op: assign_op.Equal rhs: {<i386>} spids: [890] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE_ARCH) op: assign_op.Equal rhs: {<i386>} spids: [894] ) ] ) ] spids: [886 887 898 -1] ) (case_arm pat_list: [{<UnixWare>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OSREL) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>} {<-v>}))} spids: [904] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OSMAJOR) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {<.>} spids: [918] ) ] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<set>} {($ Id.VSub_DollarName '$OSREL')}) terminator: <Id.Op_Semi _> ) (C {<echo>} {($ Id.VSub_Number '$1')}) ] ) ) } spids: [914] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE_ARCH) op: assign_op.Equal rhs: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<uname>} {<-m>}))} spids: [933] ) ] ) ] spids: [900 901 943 -1] ) (case_arm pat_list: [{<Linux>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$MACHINE')} arms: [ (case_arm pat_list: [{<i> <Id.Lit_QMark '?'> <86>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE_ARCH) op: assign_op.Equal rhs: {<i386>} spids: [969] ) ] ) ] spids: [964 967 971 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LOCAL_FS) op: assign_op.Equal rhs: {<ext2>} spids: [980] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:PS_AXC) op: assign_op.Equal rhs: {<axc>} spids: [984] ) ] ) (command.AndOr ops: [Id.Op_DAmp] children: [ (C {<Id.Lit_LBracket '['>} {<-x>} {<'/usr/bin/md5sum'>} {<Id.Lit_RBracket ']'>}) (BraceGroup children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MD5) op: assign_op.Equal rhs: {<'/usr/bin/md5sum'>} spids: [1000] ) ] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<export>} {<MD5>}) terminator: <Id.Op_Semi _> ) ] ) ] ) ] spids: [945 946 1012 -1] ) (case_arm pat_list: [{<QNX>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$MACHINE')} arms: [ (case_arm pat_list: [{<x86pc>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE_ARCH) op: assign_op.Equal rhs: {<i386>} spids: [1028] ) ] ) ] spids: [1025 1026 1030 -1] ) ] ) ] spids: [1014 1015 1036 -1] ) (case_arm pat_list: [{<Haiku>}] action: [ (command.Case to_match: {($ Id.VSub_DollarName '$MACHINE')} arms: [ (case_arm pat_list: [{<BeBox>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE_ARCH) op: assign_op.Equal rhs: {<powerpc>} spids: [1052] ) ] ) ] spids: [1049 1050 1054 -1] ) (case_arm pat_list: [{<BeMac>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE_ARCH) op: assign_op.Equal rhs: {<powerpc>} spids: [1060] ) ] ) ] spids: [1057 1058 1062 -1] ) (case_arm pat_list: [{<BePC>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE_ARCH) op: assign_op.Equal rhs: {<i386>} spids: [1068] ) ] ) ] spids: [1065 1066 1070 -1] ) ] ) ] spids: [1038 1039 1076 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HOSTNAME) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name HOSTNAME> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Subshell child: (C {<hostname>}) redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] ) ) } ) ) } spids: [1081] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HOSTNAME) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name HOSTNAME> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Subshell child: (C {<uname>} {<-n>}) redirects: [ (redir op: <Id.Redir_Great '2>'> loc: (redir_loc.Fd fd:2) arg: {<'/dev/null'>} ) ] ) ) } ) ) } spids: [1099] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$HOSTNAME'))} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <.> <Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HOST) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {<.>} spids: [1136] ) ] ) terminator: <Id.Op_Semi _> ) (command.Sentence child: (C {<set>} {<-->} {($ Id.VSub_DollarName '$HOSTNAME')}) terminator: <Id.Op_Semi _> ) (C {<echo>} {($ Id.VSub_Number '$1')}) ] ) ) } spids: [1132] ) ] ) ] spids: [1127 1130 1151 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HOST) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$HOSTNAME')} spids: [1156] ) ] ) ] spids: [1153 1154 1158 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TMP_DIRS) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name TMP_DIRS> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {(DQ <'/tmp /var/tmp'>)} ) ) } spids: [1163] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE_ARCH) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name MACHINE_ARCH> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {($ Id.VSub_DollarName '$MACHINE')} ) ) } spids: [1172] ) ] ) (command.Case to_match: {(DQ ($ Id.VSub_DollarName '$MACHINE_ARCH'))} arms: [ (case_arm pat_list: [{<x86> <Id.Lit_Star '*'> <64>} {<amd64>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE32_ARCH) op: assign_op.Equal rhs: {<i386>} spids: [1194] ) ] ) ] spids: [1187 1192 1196 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'> <64>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE32_ARCH) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {($ Id.VSub_DollarName '$MACHINE_ARCH')}) (C {<sed>} {(SQ <'s,64,32,'>)}) ] negated: F ) ) } spids: [1202] ) ] ) ] spids: [1198 1200 1218 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:MACHINE32_ARCH) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$MACHINE_ARCH')} spids: [1223] ) ] ) ] spids: [1220 1221 1225 -1] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HOST_ARCH) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name HOST_ARCH> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {($ Id.VSub_DollarName '$MACHINE_ARCH')} ) ) } spids: [1229] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HOST_ARCH32) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name HOST_ARCH32> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {($ Id.VSub_DollarName '$MACHINE32_ARCH')} ) ) } spids: [1236] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SHARE_ARCH_DEFAULT) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$OS') <'/'> ($ Id.VSub_DollarName '$OSMAJOR') <'.X/'> ($ Id.VSub_DollarName '$HOST_ARCH') } spids: [1246] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:SHARE_ARCH) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name SHARE_ARCH> suffix_op: (suffix_op.Unary tok: <Id.VTest_ColonHyphen ':-'> arg_word: {($ Id.VSub_DollarName '$SHARE_ARCH_DEFAULT')} ) ) } spids: [1253] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:LN) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name LN> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<ln>}) ) } spids: [1260] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:TR) op: assign_op.Equal rhs: { (braced_var_sub token: <Id.VSub_Name TR> suffix_op: (suffix_op.Unary tok:<Id.VTest_ColonHyphen ':-'> arg_word:{<tr>}) ) } spids: [1267] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HOST_TARGET) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(${ Id.VSub_Name OS) (${ Id.VSub_Name OSMAJOR) <-> ($ Id.VSub_DollarName '$HOST_ARCH') } ) (C {<tr>} {<-d>} {<'/'>}) (C {<toLower>}) ] negated: F ) ) } spids: [1278] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:HOST_TARGET32) op: assign_op.Equal rhs: { (command_sub left_token: <Id.Left_Backtick '`'> child: (command.Pipeline children: [ (C {<echo>} {(${ Id.VSub_Name OS) (${ Id.VSub_Name OSMAJOR) <-> ($ Id.VSub_DollarName '$HOST_ARCH32') } ) (C {<tr>} {<-d>} {<'/'>}) (C {<toLower>}) ] negated: F ) ) } spids: [1306] ) ] ) (C {<export>} {<HOST_TARGET>} {<HOST_TARGET32>}) (command.Case to_match: {(command_sub left_token:<Id.Left_Backtick '`'> child:(C {<echo>} {<-n>} {<.>}))} arms: [ (case_arm pat_list: [{<-n> <Id.Lit_Star '*'>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:N) op: assign_op.Equal rhs: (word.Empty) spids: [1359] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C) op: assign_op.Equal rhs: {(DQ <Id.Lit_BadBackslash '\\'> <c>)} spids: [1362] ) ] ) ] spids: [1355 1357 1367 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:N) op: assign_op.Equal rhs: {<-n>} spids: [1372] ) ] ) terminator: <Id.Op_Semi _> ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C) op: assign_op.Equal rhs: (word.Empty) spids: [1376] ) ] ) ] spids: [1369 1370 1377 -1] ) ] ) (command.ShFunction name: Echo body: (BraceGroup children: [ (command.Case to_match: {(DQ ($ Id.VSub_Number '$1'))} arms: [ (case_arm pat_list: [{<-n>}] action: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_n) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$N')} spids: [1401] ) (assign_pair lhs: (sh_lhs_expr.Name name:_c) op: assign_op.Equal rhs: {($ Id.VSub_DollarName '$C')} spids: [1404] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] spids: [1398 1399 1409 -1] ) (case_arm pat_list: [{<Id.Lit_Star '*'>}] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_n) op: assign_op.Equal rhs: (word.Empty) spids: [1415] ) (assign_pair lhs: (sh_lhs_expr.Name name:_c) op: assign_op.Equal rhs: (word.Empty) spids: [1417] ) ] ) ] spids: [1412 1413 1418 -1] ) ] ) (C {<echo>} {($ Id.VSub_DollarName '$_n')} {(DQ ($ Id.VSub_At '$@'))} {($ Id.VSub_DollarName '$_c')} ) ] ) ) (C {<export>} {<HOSTNAME>} {<HOST>}) (C {<export>} {<OS>} {<MACHINE>} {<MACHINE_ARCH>} {<OSREL>} {<OSMAJOR>} {<LOCAL_FS>} {<TMP_DIRS>} {<MAILER>} {<N>} {<C>} {<K>} {<PS_AXC>} ) (C {<export>} {<LN>} {<SHARE_ARCH>} {<TR>}) (command.Case to_match: {<'/'> ($ Id.VSub_Number '$0')} arms: [ (case_arm pat_list: [{<Id.Lit_Star '*'> <'/os.sh'>}] action: [ (command.ForEach iter_names: [v] iterable: (for_iter.Words words:[{($ Id.VSub_Star '$*')}]) body: (command.DoGroup children: [ (C {<eval>} {<Id.Lit_VarLike 'vv='> (word_part.EscapedLiteral token: <Id.Lit_EscapedChar '\\$'> ) ($ Id.VSub_DollarName '$v') } ) (C {<echo>} {(DQ ($ Id.VSub_DollarName '$v') <'=\''> ($ Id.VSub_DollarName '$vv') <'\''>)} ) ] ) ) ] spids: [1486 1488 1523 -1] ) ] ) ] )