(CommandList children: [ (C {(set)} {(-e)}) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:common_objpfx) op: Equal rhs: {($ VSub_Number '$1')} spids: [54] ) ] spids: [54] ) terminator: <Op_Semi ';'> ) (C {(shift)}) (Sentence child: (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:test_program_prefix) op: Equal rhs: {($ VSub_Number '$1')} spids: [60] ) ] spids: [60] ) terminator: <Op_Semi ';'> ) (C {(shift)}) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(0)} spids:[67])] spids: [67] ) (AndOr children: [ (SimpleCommand words: [ {(${ VSub_Name test_program_prefix)} {(${ VSub_Name common_objpfx) (stdio-common/tst-unbputc)} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(${ VSub_Name common_objpfx) (stdio-common/tst-unbputc.out)} spids: [84] ) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[93])] spids: [93] ) ] op_id: Op_DPipe ) (AndOr children: [ (Subshell child: (Pipeline children: [ (C {(printf)} {(12)}) (C {(cmp)} {(${ VSub_Name common_objpfx) (stdio-common/tst-unbputc.out)} {(-)}) ] negated: False ) spids: [97 112] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:status) op:Equal rhs:{(1)} spids:[116])] spids: [116] ) ] op_id: Op_DPipe ) (C {(exit)} {($ VSub_Name '$status')}) ] )