(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tid) op: Equal rhs: {(DQ ('environment passing'))} spids: [7] ) ] spids: [7] ) (SimpleCommand words: [{(cat)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {(DQ ('Host test-sendenv-confparse-bug\n') ('\tSendEnv *\n'))} do_expansion: True here_end: EOF was_filled: True spids: [22] ) (Redir op_id: Redir_Great fd: 16777215 arg_word: {($ VSub_Name '$OBJ') (/ssh_proxy_envpass)} spids: [26] ) ] ) (SimpleCommand words: [{(cat)} {($ VSub_Name '$OBJ') (/ssh_proxy)}] redirects: [ (Redir op_id: Redir_DGreat fd: 16777215 arg_word: {($ VSub_Name '$OBJ') (/ssh_proxy_envpass)} spids: [39] ) ] ) (C {(trace)} {(DQ ("pass env, don't accept"))}) (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (": pass env, don't accept"))}) (SimpleCommand words: [ {(${ VSub_Name SSH)} {(-oSendEnv) (Lit_Other '=') (DQ ('*'))} {(-F)} {($ VSub_Name '$OBJ') (/ssh_proxy_envpass)} {(otherhost)} {(sh)} ] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('\ttest -z "$_TEST_ENV"\n')} do_expansion: False here_end: EOF was_filled: True spids: [83] ) ] more_env: [(env_pair name:_TEST_ENV val:{(blah)} spids:[59])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:r) op:Equal rhs:{($ VSub_QMark '$?')} spids:[89])] spids: [89] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$r')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('environment found'))})] spids: [16777215 105] ) ] spids: [16777215 114] ) (C {(trace)} {(DQ ("don't pass env, accept"))}) (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (": don't pass env, accept"))}) (SimpleCommand words: [{(${ VSub_Name SSH)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_proxy_envpass)} {(otherhost)} {(sh)}] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('\ttest -z "$_XXX_TEST_A" && test -z "$_XXX_TEST_B"\n')} do_expansion: False here_end: EOF was_filled: True spids: [152] ) ] more_env: [ (env_pair name:_XXX_TEST_A val:{(1)} spids:[131]) (env_pair name:_XXX_TEST_B val:{(2)} spids:[134]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:r) op:Equal rhs:{($ VSub_QMark '$?')} spids:[158])] spids: [158] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$r')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('environment found'))})] spids: [16777215 174] ) ] spids: [16777215 183] ) (C {(trace)} {(DQ ('pass single env, accept single env'))}) (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': pass single env, accept single env'))}) (SimpleCommand words: [ {(${ VSub_Name SSH)} {(-oSendEnv) (Lit_Other '=') (DQ (_XXX_TEST))} {(-F)} {($ VSub_Name '$OBJ') (/ssh_proxy_envpass)} {(otherhost)} {(sh)} ] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('\ttest X"$_XXX_TEST" = X"blah"\n')} do_expansion: False here_end: EOF was_filled: True spids: [224] ) ] more_env: [(env_pair name:_XXX_TEST val:{(blah)} spids:[200])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:r) op:Equal rhs:{($ VSub_QMark '$?')} spids:[230])] spids: [230] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$r')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('environment not found'))})] spids: [16777215 246] ) ] spids: [16777215 255] ) (C {(trace)} {(DQ ('pass multiple env, accept multiple env'))}) (C {(verbose)} {(DQ ('test ') ($ VSub_Name '$tid') (': pass multiple env, accept multiple env'))}) (SimpleCommand words: [ {(${ VSub_Name SSH)} {(-oSendEnv) (Lit_Other '=') (DQ ('_XXX_TEST_*'))} {(-F)} {($ VSub_Name '$OBJ') (/ssh_proxy_envpass)} {(otherhost)} {(sh)} ] redirects: [ (HereDoc op_id: Redir_DLess fd: 16777215 body: {('\ttest X"$_XXX_TEST_A" = X"1" -a X"$_XXX_TEST_B" = X"2"\n')} do_expansion: False here_end: EOF was_filled: True spids: [301] ) ] more_env: [ (env_pair name:_XXX_TEST_A val:{(1)} spids:[272]) (env_pair name:_XXX_TEST_B val:{(2)} spids:[275]) ] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:r) op:Equal rhs:{($ VSub_QMark '$?')} spids:[307])] spids: [307] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$r')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('environment not found'))})] spids: [16777215 323] ) ] spids: [16777215 332] ) (C {(rm)} {(-f)} {($ VSub_Name '$OBJ') (/ssh_proxy_envpass)}) ] )