(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.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 here_begin: {<EOF>} here_end_span_id: 34 stdin_parts: [<'Host test-sendenv-confparse-bug\n'> <'\tSendEnv *\n'>] ) (redir.Redir op: <Id.Redir_Great '>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$OBJ') </ssh_proxy_envpass>} ) ] ) (command.Simple words: [{<cat>} {($ Id.VSub_DollarName '$OBJ') </ssh_proxy>}] redirects: [ (redir.Redir op: <Id.Redir_DGreat '>>'> fd: -1 arg_word: {($ Id.VSub_DollarName '$OBJ') </ssh_proxy_envpass>} ) ] ) (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.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 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])] ) (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: [ (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.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 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]) ] ) (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: [ (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.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 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])] ) (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: [ (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.HereDoc op: <Id.Redir_DLess '<<'> fd: -1 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]) ] ) (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: [ (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>}) ] )