(command.CommandList children: [ (C {<set>} {<-e>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rtld) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [57] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_wrapper) op: assign_op.Equal rhs: {($ Id.VSub_Number '$2')} spids: [60] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_wrapper_env) op: assign_op.Equal rhs: {($ Id.VSub_Number '$3')} spids: [63] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<0>} spids: [66] ) ] ) (C {<echo>} {(SQ <'# normal mode'>)}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.Simple words: [ {(${ Id.VSub_Name test_wrapper)} {($ Id.VSub_DollarName '$rtld')} {($ Id.VSub_DollarName '$rtld')} ] redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rc) op: assign_op.Equal rhs: {<0>} spids: [89] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rc) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [94] ) ] ) ] ) (C {<echo>} {(DQ <'# exit status '> ($ Id.VSub_DollarName '$rc'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$rc')} {<-le>} {<127>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [114] ) ] ) ] ) (C {<echo>} {(SQ <'# list mode'>)}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.Simple words: [ {(${ Id.VSub_Name test_wrapper)} {($ Id.VSub_DollarName '$rtld')} {<--list>} {($ Id.VSub_DollarName '$rtld')} ] redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rc) op: assign_op.Equal rhs: {<0>} spids: [139] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rc) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [144] ) ] ) ] ) (C {<echo>} {(DQ <'# exit status '> ($ Id.VSub_DollarName '$rc'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$rc')} {<-eq>} {<0>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [164] ) ] ) ] ) (C {<echo>} {(SQ <'# verify mode'>)}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.Simple words: [ {(${ Id.VSub_Name test_wrapper)} {($ Id.VSub_DollarName '$rtld')} {<--verify>} {($ Id.VSub_DollarName '$rtld')} ] redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rc) op: assign_op.Equal rhs: {<0>} spids: [189] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rc) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [194] ) ] ) ] ) (C {<echo>} {(DQ <'# exit status '> ($ Id.VSub_DollarName '$rc'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$rc')} {<-eq>} {<2>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [214] ) ] ) ] ) (C {<echo>} {(SQ <'# trace mode'>)}) (command.AndOr ops: [Id.Op_DAmp Id.Op_DPipe] children: [ (command.Simple words: [ {(${ Id.VSub_Name test_wrapper_env)} {<Id.Lit_VarLike 'LD_TRACE_LOADED_OBJECTS='> <1>} {($ Id.VSub_DollarName '$rtld')} {($ Id.VSub_DollarName '$rtld')} ] redirects: [(redir op:<Id.Redir_GreatAnd '2>&'> loc:(redir_loc.Fd fd:2) arg:{<1>})] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rc) op: assign_op.Equal rhs: {<0>} spids: [242] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:rc) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [247] ) ] ) ] ) (C {<echo>} {(DQ <'# exit status '> ($ Id.VSub_DollarName '$rc'))}) (command.AndOr ops: [Id.Op_DPipe] children: [ (C {<test>} {($ Id.VSub_DollarName '$rc')} {<-eq>} {<0>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<1>} spids: [267] ) ] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$result')} ) ] )