(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tid) op: Equal rhs: {(DQ ('stderr data transfer'))} spids: [7] ) ] spids: [7] ) (ForEach iter_name: n iter_words: [{(SQ )} {(-n)}] do_arg_iter: False body: (DoGroup children: [ (ForEach iter_name: p iter_words: [{(${ VSub_Name SSH_PROTOCOLS)}] do_arg_iter: False body: (DoGroup children: [ (C {(verbose)} { (DQ ('test ') ($ VSub_Name '$tid') (': proto ') ($ VSub_Name '$p') (' (') ($ VSub_Name '$n') (')') ) } ) (SimpleCommand words: [ {(${ VSub_Name SSH)} {($ VSub_Name '$n')} {(-) ($ VSub_Name '$p')} {(-F)} {($ VSub_Name '$OBJ') (/ssh_proxy)} {(otherhost)} {(exec)} {(sh)} {(-c)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (DQ ('exec > /dev/null; sleep 3; cat ') (${ VSub_Name DATA) (' 1>&2 ') ($ VSub_Name '$s') ) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) } ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(${ VSub_Name COPY)} spids: [91] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:r) op: Equal rhs: {($ VSub_QMark '$?')} spids: [98] ) ] spids: [98] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$r')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('ssh failed with exit code ') ($ VSub_Name '$r'))})] spids: [16777215 115] ) ] spids: [16777215 126] ) (AndOr children: [ (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)}) (C {(fail)} {(DQ ('stderr corrupt'))}) ] op_id: Op_DPipe ) (C {(rm)} {(-f)} {(${ VSub_Name COPY)}) (SimpleCommand words: [ {(${ VSub_Name SSH)} {($ VSub_Name '$n')} {(-) ($ VSub_Name '$p')} {(-F)} {($ VSub_Name '$OBJ') (/ssh_proxy)} {(otherhost)} {(exec)} {(sh)} {(-c)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (DQ ('echo a; exec > /dev/null; sleep 3; cat ') (${ VSub_Name DATA) (' 1>&2 ') ($ VSub_Name '$s') ) (EscapedLiteralPart token:<Lit_EscapedChar "\\'">) } ] redirects: [ (Redir op_id: Redir_Great fd: 16777215 arg_word: {(/dev/null)} spids: [195] ) (Redir op_id: Redir_Great fd: 2 arg_word: {(${ VSub_Name COPY)} spids: [199] ) ] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:r) op: Equal rhs: {($ VSub_QMark '$?')} spids: [206] ) ] spids: [206] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_Name '$r')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('ssh failed with exit code ') ($ VSub_Name '$r'))})] spids: [16777215 223] ) ] spids: [16777215 234] ) (AndOr children: [ (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)}) (C {(fail)} {(DQ ('stderr corrupt'))}) ] op_id: Op_DPipe ) (C {(rm)} {(-f)} {(${ VSub_Name COPY)}) ] spids: [38 264] ) spids: [32 36] ) ] spids: [25 266] ) spids: [18 23] ) ] )