(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:file) op:Equal rhs:{($ VSub_Number '$1')} spids:[16])] spids: [16] ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:defs) op: Equal rhs: {(DQ ('#define ') ($ VSub_Number '$1'))} spids: [22] ) ] spids: [22] ) (C {(shift)}) (ForEach iter_name: def do_arg_iter: T body: (DoGroup children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:defs) op: Equal rhs: {(DQ ($ VSub_Name '$defs') ('\n') ('#define ') ($ VSub_Name '$def'))} spids: [37] ) ] spids: [37] ) ] spids: [34 45] ) spids: [16777215 16777215] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:t) op: Equal rhs: { (BracedVarSub token: <VSub_Name TMPDIR> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{(.)}) spids: [61 65] ) (/gro) ($ VSub_Dollar '$$') (.tmp) } spids: [60] ) ] spids: [60] ) (SimpleCommand words: [{(sed)} {(-e)} {(SQ <'s/=/ /'>)}] redirects: [ (Redir op:<Redir_Great '>'> fd:16777215 arg_word:{($ VSub_Name '$t')}) (HereDoc op: <Redir_DLess '<<'> fd: 16777215 here_begin: {(EOF)} here_end_span_id: 88 stdin_parts: [($ VSub_Name '$defs') ('\n')] ) ] ) (AndOr ops: [Op_DAmp Op_DPipe] children: [ (C {(test)} {(-r)} {($ VSub_Name '$file')}) (C {(cmp)} {(-s)} {($ VSub_Name '$t')} {($ VSub_Name '$file')}) (C {(cp)} {($ VSub_Name '$t')} {($ VSub_Name '$file')}) ] ) (C {(rm)} {(-f)} {($ VSub_Name '$t')}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )