(CommandList children: [ (C {(set)} {(-e)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:candidate_list) op: Equal rhs: { (DQ ( "ansible-bcpc-bootstrap ansible-bcpc-vm1 ansible-bcpc-vm2 ansible-bcpc-vm3 ansible-bcpc-vm4 ansible-bcpc-vm5 ansible-bcpc-vm6" ) ) } spids: [14] ) ] spids: [14] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:existing_vms) op: Equal rhs: { (ArrayLiteralPart words: [ { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(VBoxManage)} {(list)} {(vms)}) (C {(awk)} {(-v)} {(Lit_VarLike "vmpattern=") (DQ (BracedVarSub token: <VSub_Name candidate_list> suffix_op: (PatSub pat: {(" ")} replace: {("|")} do_all: True do_prefix: False do_suffix: False ) spids: [37 44] ) ) } {(SQ <"$1 ~ vmpattern {gsub(/\"/,\"\",$1);print $1}">)} ) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [22 50] ) } ] ) } spids: [19] ) ] spids: [19] ) (ForEach iter_name: VM iter_words: [ { (BracedVarSub token: <VSub_Name existing_vms> bracket_op: (WholeArray op_id:Lit_At) spids: [60 65] ) } ] do_arg_iter: False body: (DoGroup children: [ (AndOr children: [ (C {(VBoxManage)} {(controlvm)} {($ VSub_Name "$VM")} {(poweroff)}) (C {(true)}) ] op_id: Op_DAmp ) (C {(VBoxManage)} {(unregistervm)} {($ VSub_Name "$VM")} {(--delete)}) ] spids: [68 92] ) spids: [59 66] ) ] )