(command.CommandList children: [ (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:tid) op: assign_op.Equal rhs: {(DQ <'environment passing'>)} spids: [7] ) ] ) (command.Simple words: [{<cat>}] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {<EOF>} here_end_span_id: 34 stdin_parts: [<'Host test-sendenv-confparse-bug\n'> <'\tSendEnv *\n'>] ) ) (redir op: <Id.Redir_Great '>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$OBJ') <'/ssh_proxy_envpass'>} ) ] do_fork: T ) (command.Simple words: [{<cat>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_proxy'>}] redirects: [ (redir op: <Id.Redir_DGreat '>>'> loc: (redir_loc.Fd fd:1) arg: {($ Id.VSub_DollarName '$OBJ') <'/ssh_proxy_envpass'>} ) ] do_fork: T ) (C {<trace>} {(DQ <'pass env, don\'t accept'>)}) (C {<verbose>} {(DQ <'test '> ($ Id.VSub_DollarName '$tid') <': pass env, don\'t accept'>)}) (command.Simple words: [ {(${ Id.VSub_Name SSH)} {<-oSendEnv> <Id.Lit_Equals '='> (DQ <'*'>)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_proxy_envpass'>} {<otherhost>} {<sh>} ] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 91 stdin_parts: [<'\ttest -z "$_TEST_ENV"\n'>] ) ) ] more_env: [(env_pair name:_TEST_ENV val:{<blah>} spids:[60])] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:r) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [92] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$r')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<fail>} {(DQ <'environment found'>)})] spids: [95 108] ) ] ) (C {<trace>} {(DQ <'don\'t pass env, accept'>)}) (C {<verbose>} {(DQ <'test '> ($ Id.VSub_DollarName '$tid') <': don\'t pass env, accept'>)}) (command.Simple words: [ {(${ Id.VSub_Name SSH)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_proxy_envpass'>} {<otherhost>} {<sh>} ] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 162 stdin_parts: [<'\ttest -z "$_XXX_TEST_A" && test -z "$_XXX_TEST_B"\n'>] ) ) ] more_env: [ (env_pair name:_XXX_TEST_A val:{<1>} spids:[134]) (env_pair name:_XXX_TEST_B val:{<2>} spids:[137]) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:r) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [163] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$r')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<fail>} {(DQ <'environment found'>)})] spids: [166 179] ) ] ) (C {<trace>} {(DQ <'pass single env, accept single env'>)}) (C {<verbose>} {(DQ <'test '> ($ Id.VSub_DollarName '$tid') <': pass single env, accept single env'>)} ) (command.Simple words: [ {(${ Id.VSub_Name SSH)} {<-oSendEnv> <Id.Lit_Equals '='> (DQ <_XXX_TEST>)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_proxy_envpass'>} {<otherhost>} {<sh>} ] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 236 stdin_parts: [<'\ttest X"$_XXX_TEST" = X"blah"\n'>] ) ) ] more_env: [(env_pair name:_XXX_TEST val:{<blah>} spids:[205])] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:r) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [237] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$r')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<fail>} {(DQ <'environment not found'>)})] spids: [240 253] ) ] ) (C {<trace>} {(DQ <'pass multiple env, accept multiple env'>)}) (C {<verbose>} {(DQ <'test '> ($ Id.VSub_DollarName '$tid') <': pass multiple env, accept multiple env'>)} ) (command.Simple words: [ {(${ Id.VSub_Name SSH)} {<-oSendEnv> <Id.Lit_Equals '='> (DQ <'_XXX_TEST_*'>)} {<-F>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_proxy_envpass'>} {<otherhost>} {<sh>} ] redirects: [ (redir op: <Id.Redir_DLess '<<'> loc: (redir_loc.Fd fd:0) arg: (redir_param.HereDoc here_begin: {(SQ <EOF>)} here_end_span_id: 315 stdin_parts: [<'\ttest X"$_XXX_TEST_A" = X"1" -a X"$_XXX_TEST_B" = X"2"\n'>] ) ) ] more_env: [ (env_pair name:_XXX_TEST_A val:{<1>} spids:[279]) (env_pair name:_XXX_TEST_B val:{<2>} spids:[282]) ] do_fork: T ) (command.ShAssignment pairs: [ (assign_pair lhs: (sh_lhs_expr.Name name:r) op: assign_op.Equal rhs: {($ Id.VSub_QMark '$?')} spids: [316] ) ] ) (command.If arms: [ (if_arm cond: (condition.Shell commands: [ (command.Sentence child: (C {<Id.Lit_LBracket '['>} {($ Id.VSub_DollarName '$r')} {<-ne>} {<0>} {<Id.Lit_RBracket ']'>} ) terminator: <Id.Op_Semi _> ) ] ) action: [(C {<fail>} {(DQ <'environment not found'>)})] spids: [319 332] ) ] ) (C {<rm>} {<-f>} {($ Id.VSub_DollarName '$OBJ') <'/ssh_proxy_envpass'>}) ] )