(CommandList children: [ (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {(DQ ($ VSub_Pound '$#'))} {(-lt)} {(1)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:me) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(basename)} {($ VSub_Number '$0')})] ) left_token: <Left_CommandSub '$('> spids: [68 72] ) } spids: [67] ) ] spids: [67] ) (SimpleCommand words: [{(echo)} {(DQ ('Usage: ') ($ VSub_Name '$me') (' size [-n] [command]'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[83])] ) (SimpleCommand words: [{(echo)} {(DQ ('split data from stdin to multiple invocations of a command'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[93])] ) (SimpleCommand words: [{(echo)}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[99])] ) (SimpleCommand words: [ {(echo)} {(DQ (' -n pass the chunk number as the first parameter to command'))} ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[109])] ) (SimpleCommand words: [{(echo)} {(DQ ('Examples:'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[119])] ) (SimpleCommand words: [{(echo)} {(DQ (' ') ($ VSub_Number '$0') (" 10000 'wc -c' < /bin/ls"))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[131])] ) (SimpleCommand words: [{(echo)} {(DQ (' ') ($ VSub_Number '$0') (' 10000 < /bin/ls'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[143])] ) (SimpleCommand words: [{(echo)} {(DQ (' ') ($ VSub_Number '$0') (' 10000 -n < /bin/ls'))}] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[155])] ) (C {(exit)} {(1)}) ] spids: [16777215 64] ) ] spids: [16777215 163] ) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:chunk_size) op: Equal rhs: {($ VSub_Number '$1')} spids: [166] ) ] spids: [166] ) terminator: <Op_Semi ';'> ) (C {(shift)}) (AndOr children: [ (C {(test)} {(DQ ($ VSub_Number '$1'))} {(Lit_Other '=')} {(-n)}) (BraceGroup children: [ (Sentence child: (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:pass_part) op:Equal rhs:{(1)} spids:[186])] spids: [186] ) terminator: <Op_Semi ';'> ) (Sentence child:(C {(shift)}) terminator:<Op_Semi ';'>) ] spids: [184] ) ] op_id: Op_DAmp ) (AndOr children: [ (C {(test)} {(DQ ($ VSub_Number '$1'))}) (AndOr children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:cmd) op: Equal rhs: {(DQ ($ VSub_Star '$*'))} spids: [203] ) ] spids: [203] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:cmd) op:Equal rhs:{(example_cmd)} spids:[210])] spids: [210] ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (FuncDef name: example_cmd body: (BraceGroup children: [ (Sentence child: (C {(echo)} { (DQ ('processing part ') ($ VSub_Number '$1') (' (') (CommandSubPart command_list: (CommandList children:[(C {(wc)} {(-c)})]) left_token: <Left_CommandSub '$('> spids: [226 230] ) (' bytes)') ) } ) terminator: <Op_Semi ';'> ) ] spids: [218] ) spids: [214 217] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:part) op:Equal rhs:{(1)} spids:[238])] spids: [238] ) (While cond: [(Sentence child:(C {(true)}) terminator:<Op_Semi ';'>)] body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:c) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(od)} {(-to1)} {(-An)} {(-N1)})]) left_token: <Left_CommandSub '$('> spids: [250 258] ) } spids: [249] ) ] spids: [249] ) (AndOr children: [ (C {(test)} {(DQ ($ VSub_Name '$c'))}) (ControlFlow token:<ControlFlow_Break break>) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:c) op: Equal rhs: { (CommandSubPart command_list: (CommandList children:[(C {(echo)} {($ VSub_Name '$c')})]) left_token: <Left_CommandSub '$('> spids: [276 280] ) } spids: [275] ) ] spids: [275] ) (AndOr children: [ (C {(test)} {(DQ ($ VSub_Name '$pass_part'))}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:ppart) op: Equal rhs: {($ VSub_Name '$part')} spids: [294] ) ] spids: [294] ) ] op_id: Op_DAmp ) (AndOr children: [ (Pipeline children: [ (BraceGroup children: [ (C {(printf)} { (DQ (EscapedLiteralPart token:<Lit_EscapedChar '\\\\'>) ($ VSub_Name '$c')) } ) (C {(head)} {(-c) (ArithSubPart anode: (ArithBinary op_id: Arith_Minus left: (ArithWord w:{($ VSub_Name '$chunk_size')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [315 320] ) } ) ] spids: [298] ) (C {($ VSub_Name '$cmd')} {($ VSub_Name '$ppart')}) ] negated: False ) (ControlFlow token:<ControlFlow_Break break>) ] op_id: Op_DPipe ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:part) op: Equal rhs: { (ArithSubPart anode: (ArithBinary op_id: Arith_Plus left: (ArithWord w:{($ VSub_Name '$part')}) right: (ArithWord w:{(Lit_Digits 1)}) ) spids: [337 342] ) } spids: [336] ) ] spids: [336] ) ] spids: [246 344] ) ) ] )