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