(command.CommandList children: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(test)} {($ Id.VSub_Pound '$#')} {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(1)}) (C {(test)} { (DQ (braced_var_sub token: (Token id:Id.VSub_Number val:1 span_id:47) suffix_op: (suffix_op.PatSub pat: { (word_part.EscapedLiteral token: (Token id:Id.Lit_EscapedChar val:'\\/' span_id:49) ) } replace: (word.Empty) replace_mode: Id.Undefined_Tok ) ) ) } {(Id.KW_Bang '!') (Id.Lit_Equals '=')} {(DQ ($ Id.VSub_Number '$1'))} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:60) ) ] action: [ (command.Simple words: [ {(echo)} { (DQ ('Usage: ') ($ Id.VSub_Number '$0') (': {python2.7-static|stackless2.7-static|stacklessco2.7-static}') ) } ] redirects: [ (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'>&' span_id:73) fd: -1 arg_word: {(2)} ) ] ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:77) arg_word: {(1)} ) ] spids: [30 62] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(test)} { (DQ (command_sub left_token: (Token id:Id.Left_Backtick val:'`' span_id:88) command_list: (command.CommandList children:[(C {(uname)})]) ) ) } {(Id.Lit_Equals '=')} {(Darwin)} ) terminator: (Token id:Id.Op_Semi val:';' span_id:98) ) ] action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:URL) op: assign_op.Equal rhs: { (DQ ( 'https://raw.githubusercontent.com/pts/staticpython/master/release.darwin/' ) ($ Id.VSub_Number '$1') ) } spids: [103] ) ] ) ] spids: [83 100] ) ] else_action: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:URL) op: assign_op.Equal rhs: { (DQ ('https://raw.githubusercontent.com/pts/staticpython/master/release/') ($ Id.VSub_Number '$1') ) } spids: [112] ) ] ) ] ) (C {(echo)} {(DQ ('info: downloading: ') ($ Id.VSub_DollarName '$URL'))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Simple words: [{(type)} {(-p)} {(curl)}] redirects: [ (redir.Redir op: (Token id:Id.Redir_Great val:'>' span_id:135) fd: -1 arg_word: {(/dev/null)} ) (redir.Redir op: (Token id:Id.Redir_GreatAnd val:'2>&' span_id:138) fd: 2 arg_word: {(1)} ) ] ) terminator: (Token id:Id.Op_Semi val:';' span_id:140) ) ] action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(curl)} {(-o)} {(DQ ($ Id.VSub_Number '$1') (.download))} {(DQ ($ Id.VSub_DollarName '$URL'))} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:160) arg_word: {(2)} ) ] ) ] spids: [127 142] ) ] else_action: [ (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(wget)} {(-O)} {(DQ ($ Id.VSub_Number '$1') (.download))} {(DQ ($ Id.VSub_DollarName '$URL'))} ) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:182) arg_word: {(2)} ) ] ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(chmod)} {(Id.Lit_Other '+') (x)} {(DQ ($ Id.VSub_Number '$1') (.download))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:200) arg_word: {(2)} ) ] ) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {(mv)} {(DQ ($ Id.VSub_Number '$1') (.download))} {(DQ ($ Id.VSub_Number '$1'))}) (command.ControlFlow token: (Token id:Id.ControlFlow_Exit val:exit span_id:217) arg_word: {(2)} ) ] ) (C {(echo)} {(DQ ('info: download OK, run with: ./') ($ Id.VSub_Number '$1'))}) ] )