(CommandList children: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:tid) op: Equal rhs: {(DQ ('stderr data after eof'))} spids: [7] ) ] spids: [7] ) (C {(rm)} {(-f)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)}) (C {(cp)} {(/dev/null)} {(${ VSub_Name DATA)}) (ForEach iter_name: i iter_words: [{(1)} {(2)} {(3)} {(4)} {(5)} {(6)}] do_arg_iter: False body: (DoGroup children: [ (Pipeline children: [ (Subshell child: (CommandList children: [ (Sentence child:(C {(date)}) terminator:<Op_Semi ';'>) (C {(echo)} {($ VSub_Name '$i')}) ] ) spids: [58 64] ) (SimpleCommand words: [{(md5)}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {(${ VSub_Name DATA)} spids: [70] ) ] ) ] negated: False ) ] spids: [55 76] ) spids: [41 53] ) (SimpleCommand words: [ {(${ VSub_Name SSH)} {(-2)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_proxy)} {(otherhost)} {(exec)} {(sh)} {(-c)} {(EscapedLiteralPart token:<Lit_EscapedChar "\\'">) (DQ ('exec > /dev/null; sleep 2; 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:[113])] ) (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:r) op:Equal rhs:{($ VSub_QMark '$?')} spids:[119])] spids: [119] ) (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: [-1 135] ) ] spids: [-1 145] ) (AndOr children: [ (C {(egrep)} {(SQ <'Disconnecting: Received extended_data after EOF'>)} {(${ VSub_Name COPY)}) (C {(fail)} {(DQ ('ext data received after eof'))}) ] op_id: Op_DAmp ) (AndOr children: [ (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)}) (C {(fail)} {(DQ ('stderr corrupt'))}) ] op_id: Op_DPipe ) (C {(rm)} {(-f)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)}) ] )