(CommandList children: [ (Assignment keyword: Assign_None pairs: [(assign_pair lhs:(LhsName name:tid) op:Equal rhs:{(DQ ('broken keys'))} spids:[7])] spids: [7] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KEYS) op: Equal rhs: {(DQ ($ VSub_Name '$OBJ') (/authorized_keys_) (${ VSub_Name USER))} spids: [13] ) ] spids: [13] ) (C {(start_sshd)}) (C {(mv)} {(${ VSub_Name KEYS)} {(${ VSub_Name KEYS) (.bak)}) (SimpleCommand words: [{(echo)} {(DQ ('ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAIEABTM= bad key'))}] redirects: [(Redir op_id:Redir_Great fd:-1 arg_word:{($ VSub_Name '$KEYS')} spids:[47])] ) (SimpleCommand words: [{(cat)} {(${ VSub_Name KEYS) (.bak)}] redirects: [(Redir op_id:Redir_DGreat fd:-1 arg_word:{(${ VSub_Name KEYS)} spids:[58])] ) (SimpleCommand words: [{(cat)} {($ VSub_Name '$OBJ') (/) ($ VSub_Name '$t') (.pub)}] redirects: [ (Redir op_id: Redir_DGreat fd: -1 arg_word: {($ VSub_Name '$OBJ') (/authorized_keys_) ($ VSub_Name '$USER')} spids: [71] ) ] ) (C {(${ VSub_Name SSH)} {(-2)} {(-F)} {($ VSub_Name '$OBJ') (/ssh_config)} {(somehost)} {(true)}) (If arms: [ (if_arm cond: [ (Sentence child: (C {(Lit_Other '[')} {($ VSub_QMark '$?')} {(-ne)} {(0)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(fail)} {(DQ ('ssh connect with protocol ') ($ VSub_Name '$p') (' failed'))})] spids: [-1 106] ) ] spids: [-1 117] ) (C {(mv)} {(${ VSub_Name KEYS) (.bak)} {(${ VSub_Name KEYS)}) ] )