(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:tid) op:Equal rhs:{(DQ ('transfer data'))} spids:[7])] spids: [7] ) (ForEach iter_name: p iter_words: [{(${ VSub_Name SSH_PROTOCOLS)}] do_arg_iter: False body: (DoGroup children: [ (C {(verbose)} {(DQ ($ VSub_Name '$tid') (': proto ') ($ VSub_Name '$p'))}) (C {(rm)} {(-f)} {(${ VSub_Name COPY)}) (SimpleCommand words: [ {(${ VSub_Name SSH)} {(-n)} {(-q)} {(-) ($ VSub_Name '$p')} {(-F)} {($ VSub_Name '$OBJ') (/ssh_proxy)} {(somehost)} {(cat)} {(${ VSub_Name DATA)} ] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{(${ VSub_Name COPY)} spids:[69])] ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('ssh cat ') ($ VSub_Name '$DATA') (' failed'))})] spids: [-1 89] ) ] spids: [-1 101] ) (AndOr children: [ (C {(cmp)} {(${ VSub_Name DATA)} {(${ VSub_Name COPY)}) (C {(fail)} {(DQ ('corrupted copy'))}) ] op_id: Op_DPipe ) (ForEach iter_name: s iter_words: [{(10)} {(100)} {(1k)} {(32k)} {(64k)} {(128k)} {(256k)}] do_arg_iter: False body: (DoGroup children: [ (C {(trace)} {(DQ ('proto ') ($ VSub_Name '$p') (' dd-size ') (${ VSub_Name s))}) (C {(rm)} {(-f)} {(${ VSub_Name COPY)}) (Pipeline children: [ (SimpleCommand words: [ {(dd)} {(Lit_VarLike 'if=') ($ VSub_Name '$DATA')} {(Lit_VarLike 'obs=') (${ VSub_Name s)} ] redirects: [ (Redir op_id: Redir_Great fd: 2 arg_word: {(/dev/null)} spids: [179] ) ] ) (C {(${ VSub_Name SSH)} {(-q)} {(-) ($ VSub_Name '$p')} {(-F)} {($ VSub_Name '$OBJ') (/ssh_proxy)} {(somehost)} {(DQ ('cat > ') (${ VSub_Name COPY))} ) ] negated: False ) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('ssh cat ') ($ VSub_Name '$DATA') (' failed'))})] spids: [-1 224] ) ] spids: [-1 236] ) (AndOr children: [ (C {(cmp)} {($ VSub_Name '$DATA')} {(${ VSub_Name COPY)}) (C {(fail)} {(DQ ('corrupted copy'))}) ] op_id: Op_DPipe ) ] spids: [145 256] ) spids: [129 143] ) ] spids: [24 258] ) spids: [18 22] ) (C {(rm)} {(-f)} {(${ VSub_Name COPY)}) ] )