(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: True 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: [-1 -1] ) (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_id:Redir_Great fd:-1 arg_word:{($ VSub_Name '$t')} spids:[79]) (HereDoc op_id: Redir_DLess fd: -1 body: {(DQ ($ VSub_Name '$defs') ('\n'))} do_expansion: True here_end: EOF was_filled: True spids: [82] ) ] ) (AndOr children: [ (C {(test)} {(-r)} {($ VSub_Name '$file')}) (AndOr children: [ (C {(cmp)} {(-s)} {($ VSub_Name '$t')} {($ VSub_Name '$file')}) (C {(cp)} {($ VSub_Name '$t')} {($ VSub_Name '$file')}) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (C {(rm)} {(-f)} {($ VSub_Name '$t')}) (C {(exit)} {(0)}) ] )