(command.CommandList children: [ (C {(Id.Lit_Other ':')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:_OS_SH) op: assign_op.Equal rhs: {(Id.Lit_Other ':')} spids: [100] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:OS) op: assign_op.Equal rhs: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:105) command_list: (command.CommandList children:[(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: (Token id:Id.Left_Backtick val:'`' span_id:112) command_list: (command.CommandList children:[(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: (Token id:Id.Left_Backtick val:'`' span_id:121) command_list: (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: (Token id:Id.Op_Semi val:';' span_id:126) ) (command.Sentence child: (C {(Id.KW_Set set)} {($ Id.VSub_DollarName '$OSREL')}) terminator: (Token id:Id.Op_Semi val:';' span_id:131) ) (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: (Token id:Id.Left_Backtick val:'`' span_id:139) command_list: (command.CommandList children:[(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: (Token id:Id.Left_Backtick val:'`' span_id:148) command_list: (command.CommandList children: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Simple words: [{(uname)} {(-p)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:155) fd: 2 arg_word: {(/dev/null)} ) ] ) (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: (command.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: (Token id:Id.Op_Semi val:';' span_id:225) ) (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: (Token id:Id.Left_Backtick val:'`' span_id:282) command_list: (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_Other ':')} spids: [285] ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:287) ) (C {(echo)} { (braced_var_sub token: (Token id:Id.VSub_Number val:2 span_id:292) suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonHyphen arg_word: {($ Id.VSub_DollarName '$PATH')} ) ) } ) ] ) ) } spids: [281] ) ] ) (command.ForEach iter_name: d iter_words: [{($ Id.VSub_DollarName '$_dirs')}] do_arg_iter: F 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')} ) (command.BraceGroup children: [ (command.Sentence child: (C {(echo)} {($ Id.VSub_DollarName '$d') (/) ($ Id.VSub_Number '$1')} ) terminator: (Token id:Id.Op_Semi val:';' span_id:328) ) (command.Sentence child: (command.ControlFlow token: (Token id: Id.ControlFlow_Break val: break span_id: 330 ) ) terminator: (Token id:Id.Op_Semi val:';' span_id:331) ) ] ) ] ) ] ) ) ] spids: [269 270 339 -1] ) ] ) ] ) ) (command.ShFunction name: toUpper body: (command.BraceGroup children: [ (C { (braced_var_sub token: (Token id:Id.VSub_Name val:TR span_id:361) suffix_op: (suffix_op.Unary op_id:Id.VTest_ColonHyphen arg_word:{(tr)}) ) } {(abcdefghijklmnopqrstuvwxyz)} {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)} ) ] ) ) (command.ShFunction name: toLower body: (command.BraceGroup children: [ (C { (braced_var_sub token: (Token id:Id.VSub_Name val:TR span_id:381) suffix_op: (suffix_op.Unary op_id: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: (Token id:Id.Left_Backtick val:'`' span_id:409) command_list: (command.CommandList children:[(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: (Token id:Id.Left_Backtick val:'`' span_id:422) command_list: (command.CommandList children:[(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: (Token id:Id.Left_Backtick val:'`' span_id:454) command_list: (command.CommandList children: [ (C {(Which)} {(chown)} {(/usr/etc) (Id.Lit_Other ':') (/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: (Token id:Id.Left_Backtick val:'`' span_id:483) command_list: (command.CommandList children: [ (C {(Which)} {(arch)} {(/usr/bin) (Id.Lit_Other ':') (/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: (Token id:Id.Left_Backtick val:'`' span_id:531) command_list: (command.CommandList children:[(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: (Token id:Id.Left_Backtick val:'`' span_id:551) command_list: (command.CommandList children:[(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: (Token id:Id.VSub_Name val:LN span_id:600) suffix_op: (suffix_op.Unary op_id: 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_Other ':')} {($ 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: (Token id:Id.Left_Backtick val:'`' span_id:759) command_list: (command.CommandList children: [ (C {(Which)} {(arch)} {(/usr/bin) (Id.Lit_Other ':') (/usr/ucb) (Id.Lit_Other ':') ($ 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: (Token id:Id.Left_Backtick val:'`' span_id:775) command_list: (command.CommandList children: [(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: (Token id:Id.Op_Semi val:';' span_id:825) ) (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: (Token id:Id.Op_Semi val:';' span_id:850) ) (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: (Token id:Id.Op_Semi val:';' span_id:864) ) (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: (Token id:Id.Left_Backtick val:'`' span_id:905) command_list: (command.CommandList children:[(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: (Token id:Id.Left_Backtick val:'`' span_id:915) command_list: (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: (Token id:Id.Op_Semi val:';' span_id:920) ) (command.Sentence child: (C {(Id.KW_Set set)} {($ Id.VSub_DollarName '$OSREL')}) terminator: (Token id:Id.Op_Semi val:';' span_id:925) ) (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: (Token id:Id.Left_Backtick val:'`' span_id:934) command_list: (command.CommandList children:[(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 ']')}) (command.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: (Token id:Id.Op_Semi val:';' span_id:1002) ) (command.Sentence child: (C {(export)} {(MD5)}) terminator: (Token id:Id.Op_Semi val:';' span_id:1007) ) ] ) ] ) ] 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: (Token id:Id.VSub_Name val:HOSTNAME span_id:1083) suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonHyphen arg_word: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:1085) command_list: (command.CommandList children: [ (command.Subshell command_list: (command.CommandList children:[(C {(hostname)})]) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:1094) fd: 2 arg_word: {(/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: (Token id:Id.VSub_Name val:HOSTNAME span_id:1101) suffix_op: (suffix_op.Unary op_id: Id.VTest_ColonHyphen arg_word: { (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:1103) command_list: (command.CommandList children: [ (command.Subshell command_list: (command.CommandList children:[(C {(uname)} {(-n)})]) redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'2>' span_id:1114) fd: 2 arg_word: {(/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: (Token id:Id.Left_Backtick val:'`' span_id:1133) command_list: (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: (Token id:Id.Op_Semi val:';' span_id:1138) ) (command.Sentence child: (C {(Id.KW_Set set)} {(--)} {($ Id.VSub_DollarName '$HOSTNAME')}) terminator: (Token id:Id.Op_Semi val:';' span_id:1145) ) (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: (Token id:Id.VSub_Name val:TMP_DIRS span_id:1165) suffix_op: (suffix_op.Unary op_id: 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: (Token id:Id.VSub_Name val:MACHINE_ARCH span_id:1174) suffix_op: (suffix_op.Unary op_id: 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: (Token id:Id.Left_Backtick val:'`' span_id:1203) command_list: (command.CommandList children: [ (command.Pipeline children: [ (C {(echo)} {($ Id.VSub_DollarName '$MACHINE_ARCH')}) (C {(sed)} {(SQ (Token id:Id.Lit_Chars val:'s,64,32,' span_id:1215))}) ] 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: (Token id:Id.VSub_Name val:HOST_ARCH span_id:1231) suffix_op: (suffix_op.Unary op_id: 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: (Token id:Id.VSub_Name val:HOST_ARCH32 span_id:1238) suffix_op: (suffix_op.Unary op_id: 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: (Token id:Id.VSub_Name val:SHARE_ARCH span_id:1255) suffix_op: (suffix_op.Unary op_id: 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: (Token id:Id.VSub_Name val:LN span_id:1262) suffix_op: (suffix_op.Unary op_id: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: (Token id:Id.VSub_Name val:TR span_id:1269) suffix_op: (suffix_op.Unary op_id: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: (Token id:Id.Left_Backtick val:'`' span_id:1279) command_list: (command.CommandList children: [ (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: (Token id:Id.Left_Backtick val:'`' span_id:1307) command_list: (command.CommandList children: [ (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: (Token id:Id.Left_Backtick val:'`' span_id:1343) command_list: (command.CommandList children:[(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: (Token id:Id.Op_Semi val:';' span_id:1360) ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:C) op: assign_op.Equal rhs: {(DQ (Id.Lit_Other '\\') (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: (Token id:Id.Op_Semi val:';' span_id:1374) ) (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: (command.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: (Token id:Id.Op_Semi val:';' span_id:1406) ) (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_name: v iter_words: [{($ Id.VSub_Star '$*')}] do_arg_iter: F body: (command.DoGroup children: [ (C {(eval)} {(Id.Lit_VarLike 'vv=') (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\$' span_id:1506) ) ($ Id.VSub_DollarName '$v') } ) (C {(echo)} {(DQ ($ Id.VSub_DollarName '$v') ("='") ($ Id.VSub_DollarName '$vv') ("'"))} ) ] ) ) ] spids: [1486 1488 1523 -1] ) ] ) ] )