(CommandList children: [ (C {(Lit_Other ':')}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OS) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(uname)})]) left_token: <Left_Backtick '`'> spids: [53 55] ) } spids: [52] ) ] spids: [52] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OSREL) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(uname)} {(-r)})]) left_token: <Left_Backtick '`'> spids: [58 62] ) } spids: [57] ) ] spids: [57] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OSMAJOR) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(.)} spids: [66] ) ] spids: [66] ) terminator: <Op_Semi ';'> ) (Sentence child: (C {(set)} {($ VSub_Name '$OSREL')}) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_Number '$1')}) ] ) left_token: <Left_Backtick '`'> spids: [65 78] ) } spids: [64] ) ] spids: [64] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:machine) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (AndOr children: [ (SimpleCommand words: [{(uname)} {(-p)}] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [86] ) ] ) (C {(uname)} {(-m)}) ] op_id: Op_DPipe ) ] ) left_token: <Left_Backtick '`'> spids: [81 94] ) } spids: [80] ) ] spids: [80] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:MACHINE) op:Equal rhs:{(SQ )} spids:[96])] spids: [96] ) (Case to_match: {(DQ ($ VSub_Name '$machine'))} arms: [ (case_arm pat_list: [ {(unknown)} {(Lit_Other '*') (Lit_Other '[') (KW_Bang '!') (A-Za-z0-9_-) (Lit_Other ']') (Lit_Other '*')} ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:machine) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(uname)} {(-m)})]) left_token: <Left_Backtick '`'> spids: [125 129] ) } spids: [124] ) ] spids: [124] ) ] spids: [113 121 132 -1] ) ] spids: [105 111 134] ) (FuncDef name: Which body: (BraceGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:_dirs) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(Lit_Other ':')} spids: [160] ) ] spids: [160] ) terminator: <Op_Semi ';'> ) (C {(echo)} { (BracedVarSub token: <VSub_Number 2> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$PATH')} ) spids: [166 170] ) } ) ] ) left_token: <Left_Backtick '`'> spids: [159 171] ) } spids: [158] ) ] spids: [158] ) (ForEach iter_name: d iter_words: [{($ VSub_Name '$_dirs')}] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(test)} {(-x)} {($ VSub_Name '$d') (/) ($ VSub_Number '$1')}) (BraceGroup children: [ (Sentence child: (C {(echo)} {($ VSub_Name '$d') (/) ($ VSub_Number '$1')}) terminator: <Op_Semi ';'> ) (Sentence child: (ControlFlow token:<ControlFlow_Break break>) terminator: <Op_Semi ';'> ) ] spids: [196] ) ] op_id: Op_DAmp ) ] spids: [183 211] ) spids: [179 -1] ) ] spids: [147] ) spids: [143 146] ) (Case to_match: {($ VSub_Name '$OS')} arms: [ (case_arm pat_list: [{(OpenBSD)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE) op: Equal rhs: {($ VSub_Name '$OS') ($ VSub_Name '$OSMAJOR') (.) ($ VSub_Name '$machine')} spids: [226] ) ] spids: [226] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:arch) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(Which)} {(arch)} {(/usr/bin) (Lit_Other ':') (/usr/ucb) (Lit_Other ':') ($ VSub_Name '$PATH') } ) ] ) left_token: <Left_Backtick '`'> spids: [234 244] ) } spids: [233] ) ] spids: [233] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE_ARCH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {($ VSub_Name '$arch')} {(-s)})]) left_token: <Left_Backtick '`'> spids: [248 252] ) } spids: [247] ) ] spids: [247] ) terminator: <Op_Semi ';'> ) ] spids: [222 223 256 -1] ) (case_arm pat_list: [{(Bitrig)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE) op: Equal rhs: {($ VSub_Name '$OS') ($ VSub_Name '$OSMAJOR') (.) ($ VSub_Name '$machine')} spids: [262] ) ] spids: [262] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE_ARCH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(uname)} {(-m)})]) left_token: <Left_Backtick '`'> spids: [270 274] ) } spids: [269] ) ] spids: [269] ) terminator: <Op_Semi ';'> ) ] spids: [258 259 278 -1] ) (case_arm pat_list: [{(Lit_Other '*') (BSD)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE) op: Equal rhs: {($ VSub_Name '$OS') ($ VSub_Name '$OSMAJOR') (.) ($ VSub_Name '$machine')} spids: [285] ) ] spids: [285] ) ] spids: [280 282 292 -1] ) (case_arm pat_list: [{(SunOS)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:arch) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (C {(Which)} {(arch)} {(/usr/bin) (Lit_Other ':') (/usr/ucb) (Lit_Other ':') ($ VSub_Name '$PATH') } ) ] ) left_token: <Left_Backtick '`'> spids: [299 309] ) } spids: [298] ) ] spids: [298] ) (AndOr children: [ (C {(test)} {(DQ ($ VSub_Name '$arch'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:machine_arch) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {($ VSub_Name '$arch')})]) left_token: <Left_Backtick '`'> spids: [321 323] ) } spids: [320] ) ] spids: [320] ) ] op_id: Op_DAmp ) (Case to_match: {(DQ ($ VSub_Name '$OSREL'))} arms: [ (case_arm pat_list: [{(4.0) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE_ARCH) op: Equal rhs: {($ VSub_Name '$machine_arch')} spids: [340] ) (assign_pair lhs: (LhsName name:MACHINE) op: Equal rhs: {($ VSub_Name '$machine_arch')} spids: [343] ) ] spids: [340] ) ] spids: [336 338 345 -1] ) (case_arm pat_list: [{(4) (Lit_Other '*')}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE_ARCH) op: Equal rhs: {($ VSub_Name '$machine_arch')} spids: [352] ) ] spids: [352] ) ] spids: [348 350 354 -1] ) ] spids: [327 333 357] ) ] spids: [294 295 360 -1] ) (case_arm pat_list: [{(HP-UX)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE_ARCH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(DQ (/-.))} spids: [368] ) ] spids: [368] ) terminator: <Op_Semi ';'> ) (Sentence child: (C {(set)} {($ VSub_Name '$machine')}) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_Number '$1')}) ] ) left_token: <Left_Backtick '`'> spids: [367 382] ) } spids: [366] ) ] spids: [366] ) ] spids: [362 363 385 -1] ) (case_arm pat_list: [{(Interix)}] action: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:MACHINE) op:Equal rhs:{(i386)} spids:[391])] spids: [391] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:MACHINE_ARCH) op:Equal rhs:{(i386)} spids:[395])] spids: [395] ) ] spids: [387 388 399 -1] ) (case_arm pat_list: [{(UnixWare)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OSREL) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(uname)} {(-v)})]) left_token: <Left_Backtick '`'> spids: [406 410] ) } spids: [405] ) ] spids: [405] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:OSMAJOR) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:IFS) op: Equal rhs: {(.)} spids: [415] ) ] spids: [415] ) terminator: <Op_Semi ';'> ) (Sentence child: (C {(set)} {($ VSub_Name '$OSREL')}) terminator: <Op_Semi ';'> ) (C {(echo)} {($ VSub_Number '$1')}) ] ) left_token: <Left_Backtick '`'> spids: [414 427] ) } spids: [413] ) ] spids: [413] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE_ARCH) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(uname)} {(-m)})]) left_token: <Left_Backtick '`'> spids: [431 435] ) } spids: [430] ) ] spids: [430] ) ] spids: [401 402 438 -1] ) (case_arm pat_list: [{(Linux)}] action: [ (Case to_match: {(DQ ($ VSub_Name '$machine'))} arms: [ (case_arm pat_list: [{(i) (Lit_Other '?') (86)}] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE_ARCH) op: Equal rhs: {(i386)} spids: [458] ) ] spids: [458] ) ] spids: [453 456 460 -1] ) ] spids: [444 450 465] ) ] spids: [440 441 468 -1] ) ] spids: [216 220 470] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE) op: Equal rhs: { (BracedVarSub token: <VSub_Name MACHINE> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: {($ VSub_Name '$OS') ($ VSub_Name '$OSMAJOR')} ) spids: [474 479] ) } spids: [473] ) ] spids: [473] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:MACHINE_ARCH) op: Equal rhs: { (BracedVarSub token: <VSub_Name MACHINE_ARCH> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{($ VSub_Name '$machine')}) spids: [482 486] ) } spids: [481] ) ] spids: [481] ) (Pipeline children: [ (Subshell child: (Case to_match: {(DQ ($ VSub_Number '$0'))} arms: [ (case_arm pat_list: [{(arch) (Lit_Other '*')}] action: [(C {(echo)} {($ VSub_Name '$MACHINE_ARCH')})] spids: [499 501 506 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(DQ )}] action: [(C {(echo)} {($ VSub_Name '$MACHINE')})] spids: [-1 523 528 -1] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [(C {(echo)} {($ VSub_Name '$MACHINE_ARCH')})] spids: [531 532 537 -1] ) ] spids: [512 518 540] ) ] spids: [508 509 543 -1] ) ] spids: [491 497 545] ) spids: [489 547] ) (C {(tr)} {(ABCDEFGHIJKLMNOPQRSTUVWXYZ)} {(abcdefghijklmnopqrstuvwxyz)}) ] negated: False ) ] )