(command.CommandList children: [ (C {<Id.KW_Set set>} {<-e>}) (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:common_objpfx) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [64] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] ) (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_program_prefix_before_env) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [70] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] ) (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:run_program_env) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [76] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] ) (command.CommandList children: [ (command.Sentence child: (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:test_program_prefix_after_env) op: assign_op.Equal rhs: {($ Id.VSub_Number '$1')} spids: [82] ) ] ) terminator: <Id.Op_Semi _> ) (C {<shift>}) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:logfile) op: assign_op.Equal rhs: {(${ Id.VSub_Name common_objpfx) <'posix/wordexp-tst.out'>} spids: [88] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:testout) op: assign_op.Equal rhs: {(${ Id.VSub_Name common_objpfx) <'posix/wordexp-test-result'>} spids: [94] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:result) op: assign_op.Equal rhs: {<0>} spids: [101] ) ] ) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$logfile')}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:IFS) op: assign_op.Equal rhs: {(DQ <' \t'> <'\n'>)} spids: [116] ) ] ) (C {<export>} {<IFS>}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<0>} spids: [128] ) ] ) (command.Simple words: [ {(${ Id.VSub_Name test_program_prefix_before_env)} {(${ Id.VSub_Name run_program_env)} {<Id.Lit_VarLike 'IFS='> (DQ ($ Id.VSub_DollarName '$IFS'))} {(${ Id.VSub_Name test_program_prefix_after_env)} {(${ Id.VSub_Name common_objpfx) <'posix/wordexp-test'>} {(SQ <'$*'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name testout) <1>} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(DQ <EOF>)} here_end_span_id: 195 stdin_parts: [<'wordexp returned 0\n'> <'we_wordv[0] = "$*"\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cmp>} {<->} {(${ Id.VSub_Name testout) <1>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$logfile')} ) ] do_fork: T ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<1>} spids: [190] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$failed')} {<-ne>} {<0>}) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(SQ <'$* test failed'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {<1>} spids: [217] ) ] ) ] spids: [196 207] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<0>} spids: [223] ) ] ) (command.Simple words: [ {(${ Id.VSub_Name test_program_prefix_before_env)} {(${ Id.VSub_Name run_program_env)} {<Id.Lit_VarLike 'IFS='> (DQ ($ Id.VSub_DollarName '$IFS'))} {(${ Id.VSub_Name test_program_prefix_after_env)} {(${ Id.VSub_Name common_objpfx) <'posix/wordexp-test'>} {(SQ <'${*}'>)} {<unquoted>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name testout) <2>} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(DQ <EOF>)} here_end_span_id: 293 stdin_parts: [ <'wordexp returned 0\n'> <'we_wordv[0] = "${*}"\n'> <'we_wordv[1] = "unquoted"\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<cmp>} {<->} {(${ Id.VSub_Name testout) <2>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$logfile')} ) ] do_fork: T ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<1>} spids: [287] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$failed')} {<-ne>} {<0>}) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(SQ <'${*} test failed'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {<1>} spids: [315] ) ] ) ] spids: [294 305] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<0>} spids: [321] ) ] ) (command.Simple words: [ {(${ Id.VSub_Name test_program_prefix_before_env)} {(${ Id.VSub_Name run_program_env)} {<Id.Lit_VarLike 'IFS='> (DQ ($ Id.VSub_DollarName '$IFS'))} {(${ Id.VSub_Name test_program_prefix_after_env)} {(${ Id.VSub_Name common_objpfx) <'posix/wordexp-test'>} {(SQ <'$@'>)} {<unquoted>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name testout) <3>} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(DQ <EOF>)} here_end_span_id: 391 stdin_parts: [ <'wordexp returned 0\n'> <'we_wordv[0] = "$@"\n'> <'we_wordv[1] = "unquoted"\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<cmp>} {<->} {(${ Id.VSub_Name testout) <3>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$logfile')} ) ] do_fork: T ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<1>} spids: [385] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$failed')} {<-ne>} {<0>}) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(SQ <'$@ test failed'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {<1>} spids: [413] ) ] ) ] spids: [392 403] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<0>} spids: [419] ) ] ) (command.Simple words: [ {(${ Id.VSub_Name test_program_prefix_before_env)} {(${ Id.VSub_Name run_program_env)} {<Id.Lit_VarLike 'IFS='> (DQ ($ Id.VSub_DollarName '$IFS'))} {(${ Id.VSub_Name test_program_prefix_after_env)} {(${ Id.VSub_Name common_objpfx) <'posix/wordexp-test'>} {(SQ <'"$* quoted"'>)} {<param>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name testout) <4>} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(DQ <EOF>)} here_end_span_id: 488 stdin_parts: [ <'wordexp returned 0\n'> <'we_wordv[0] = ""$* quoted" param quoted"\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<cmp>} {<->} {(${ Id.VSub_Name testout) <4>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$logfile')} ) ] do_fork: T ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<1>} spids: [483] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$failed')} {<-ne>} {<0>}) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(SQ <'$* quoted test failed'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {<1>} spids: [510] ) ] ) ] spids: [489 500] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<0>} spids: [516] ) ] ) (command.Simple words: [ {(${ Id.VSub_Name test_program_prefix_before_env)} {(${ Id.VSub_Name run_program_env)} {<Id.Lit_VarLike 'IFS='> (DQ ($ Id.VSub_DollarName '$IFS'))} {(${ Id.VSub_Name test_program_prefix_after_env)} {(${ Id.VSub_Name common_objpfx) <'posix/wordexp-test'>} {(SQ <'"$@ quoted"'>)} {<param>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name testout) <5>} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(DQ <EOF>)} here_end_span_id: 586 stdin_parts: [ <'wordexp returned 0\n'> <'we_wordv[0] = ""$@ quoted""\n'> <'we_wordv[1] = "param quoted"\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<cmp>} {<->} {(${ Id.VSub_Name testout) <5>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$logfile')} ) ] do_fork: T ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<1>} spids: [580] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$failed')} {<-ne>} {<0>}) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(SQ <'$@ quoted test failed'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {<1>} spids: [608] ) ] ) ] spids: [587 598] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<0>} spids: [617] ) ] ) (command.Simple words: [ {(${ Id.VSub_Name test_program_prefix_before_env)} {(${ Id.VSub_Name run_program_env)} {<Id.Lit_VarLike 'IFS='> (DQ ($ Id.VSub_DollarName '$IFS'))} {(${ Id.VSub_Name test_program_prefix_after_env)} {(${ Id.VSub_Name common_objpfx) <'posix/wordexp-test'>} {(SQ <'$#'>)} {<2>} {<3>} {<4>} {<5>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name testout) <6>} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(DQ <EOF>)} here_end_span_id: 692 stdin_parts: [<'wordexp returned 0\n'> <'we_wordv[0] = "5"\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cmp>} {<->} {(${ Id.VSub_Name testout) <6>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$logfile')} ) ] do_fork: T ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<1>} spids: [687] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$failed')} {<-ne>} {<0>}) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(SQ <'$# test failed'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {<1>} spids: [714] ) ] ) ] spids: [693 704] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<0>} spids: [720] ) ] ) (command.Simple words: [ {(${ Id.VSub_Name test_program_prefix_before_env)} {(${ Id.VSub_Name run_program_env)} {<Id.Lit_VarLike 'IFS='> (DQ ($ Id.VSub_DollarName '$IFS'))} {(${ Id.VSub_Name test_program_prefix_after_env)} {(${ Id.VSub_Name common_objpfx) <'posix/wordexp-test'>} {(SQ <'$2 ${3} $4'>)} {<2nd>} {<3rd>} {(DQ <'4 th'>)} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name testout) <7>} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(DQ <EOF>)} here_end_span_id: 798 stdin_parts: [ <'wordexp returned 0\n'> <'we_wordv[0] = "2nd"\n'> <'we_wordv[1] = "3rd"\n'> <'we_wordv[2] = "4"\n'> <'we_wordv[3] = "th"\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<cmp>} {<->} {(${ Id.VSub_Name testout) <7>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$logfile')} ) ] do_fork: T ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<1>} spids: [790] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$failed')} {<-ne>} {<0>}) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(SQ <'$2 ${3} $4 test failed'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {<1>} spids: [820] ) ] ) ] spids: [799 810] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<0>} spids: [826] ) ] ) (command.Simple words: [ {(${ Id.VSub_Name test_program_prefix_before_env)} {(${ Id.VSub_Name run_program_env)} {<Id.Lit_VarLike 'IFS='> (DQ ($ Id.VSub_DollarName '$IFS'))} {(${ Id.VSub_Name test_program_prefix_after_env)} {(${ Id.VSub_Name common_objpfx) <'posix/wordexp-test'>} {(SQ <'${11}'>)} {<2>} {<3>} {<4>} {<5>} {<6>} {<7>} {<8>} {<9>} {<10>} {<11>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name testout) <8>} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(DQ <EOF>)} here_end_span_id: 913 stdin_parts: [<'wordexp returned 0\n'> <'we_wordv[0] = "11"\n'>] ) ) ] do_fork: T ) (command.Simple words: [{<cmp>} {<->} {(${ Id.VSub_Name testout) <8>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$logfile')} ) ] do_fork: T ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<1>} spids: [908] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$failed')} {<-ne>} {<0>}) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(SQ <'${11} test failed'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {<1>} spids: [935] ) ] ) ] spids: [914 925] ) ] ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<0>} spids: [941] ) ] ) (command.Simple words: [ {(${ Id.VSub_Name test_program_prefix_before_env)} {(${ Id.VSub_Name run_program_env)} {<Id.Lit_VarLike 'IFS='> (DQ ($ Id.VSub_DollarName '$IFS'))} {(${ Id.VSub_Name test_program_prefix_after_env)} {(${ Id.VSub_Name common_objpfx) <'posix/wordexp-test'>} {(SQ <'"a $@ b"'>)} {<c>} {<d>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name testout) <9>} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(DQ <EOF>)} here_end_span_id: 1014 stdin_parts: [ <'wordexp returned 0\n'> <'we_wordv[0] = "a "a $@ b""\n'> <'we_wordv[1] = "c"\n'> <'we_wordv[2] = "d b"\n'> ] ) ) ] do_fork: T ) (command.Simple words: [{<cmp>} {<->} {(${ Id.VSub_Name testout) <9>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$logfile')} ) ] do_fork: T ) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<1>} spids: [1007] ) ] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {<test>} {($ Id.VSub_DollarName '$failed')} {<-ne>} {<0>}) terminator: <Id.Op_Semi _> ) ] action: [ (C {<echo>} {(SQ <'"a $@ b" test failed'>)}) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:status) op: assign_op.Equal rhs: {<1>} spids: [1036] ) ] ) ] spids: [1015 1026] ) ] ) (command.Simple words: [ {(${ Id.VSub_Name test_program_prefix_before_env)} {(${ Id.VSub_Name run_program_env)} {<Id.Lit_VarLike 'IFS='> (DQ ($ Id.VSub_DollarName '$IFS'))} {(${ Id.VSub_Name test_program_prefix_after_env)} {(${ Id.VSub_Name common_objpfx) <'posix/wordexp-test'>} {(SQ <'${#@} ${#2} *$**'>)} {<two>} {<3>} {<4>} ] redirects: [ (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {(${ Id.VSub_Name testout) <10>} ) ] do_fork: T ) (command.AndOr ops: [Id.Op_DPipe] children: [ (command.Pipeline children: [ (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.MultiLine here_begin: {(DQ <EOF>)} here_end_span_id: 1115 stdin_parts: [ <'wordexp returned 0\n'> <'we_wordv[0] = "4"\n'> <'we_wordv[1] = "3"\n'> <'we_wordv[2] = "*${#@}"\n'> <'we_wordv[3] = "${#2}"\n'> <'we_wordv[4] = "*$**"\n'> <'we_wordv[5] = "two"\n'> <'we_wordv[6] = "3"\n'> <'we_wordv[7] = "4*"\n'> ] ) ) ] do_fork: T ) (C {<cmp>} {<->} {(${ Id.VSub_Name testout) <10>}) ] negated: F ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:failed) op: assign_op.Equal rhs: {<1>} spids: [1103] ) ] ) ] ) (command.ControlFlow token: <Id.ControlFlow_Exit exit> arg_word: {($ Id.VSub_DollarName '$result')} ) ] )