(CommandList children: [ (C {(set)} {(-e)}) (C {(.)} {($ VSub_Name "$REPO_ROOT") (/bootstrap/shared/shared_functions.sh)}) (FuncDef name: remove_DHCPservers body: (BraceGroup children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:network_name) op: Equal rhs: { (BracedVarSub token: <VSub_Number 1> suffix_op: (StringUnary op_id:VTest_Hyphen arg_word:{}) spids: [48 51] ) } spids: [47] ) ] spids: [45] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id:BoolUnary_z child:{(DQ ($ VSub_Name "$network_name"))}) ) terminator: <Op_Semi ";"> ) ] action: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:vms) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (C {(VBoxManage)} {(list)} {(vms)}) (C {(sed)} {(SQ <"s/^.*{\\([0-9a-f-]*\\)}/\\1/">)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [77 89] ) } spids: [76] ) ] spids: [74] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:vm_networks) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (Pipeline children: [ (ForEach iter_name: vm iter_words: [{($ VSub_Name "$vms")}] do_arg_iter: False body: (DoGroup children: [ (Sentence child: (Pipeline children: [ (C {(VBoxManage)} {(showvminfo)} {(--details)} {(--machinereadable)} {($ VSub_Name "$vm")} ) (C {(grep)} {(-i)} {(SQ <"^hostonlyadapter[2-9]=">)} ) (C {(sed)} {(-e)} {(SQ <"s/^.*=//">)} {(-e)} {(SQ <"s/\"//g">)} ) ] negated: False ) terminator: <Op_Semi ";"> ) ] spids: [109 156] ) spids: [105 107] ) (C {(sort)} {(-u)}) ] negated: False ) ] ) left_token: <Left_CommandSub "$("> spids: [99 163] ) } spids: [98] ) ] spids: [96] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:existing_nets_reg_ex) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [ (SimpleCommand words: [ {(sed)} {(-e)} {(SQ <"s/^/^/">)} {(-e)} {(SQ <"s/$/$/">)} {(-e)} {(SQ <"s/ /$|^/g">)} ] redirects: [ (Redir op_id: Redir_TLess fd: -1 arg_word: {(DQ ($ VSub_Name "$vm_networks"))} spids: [198] ) ] ) ] ) left_token: <Left_CommandSub "$("> spids: [177 203] ) } spids: [176] ) ] spids: [174] ) (Pipeline children: [ (C {(VBoxManage)} {(list)} {(dhcpservers)}) (C {(grep)} {(-E)} { (DQ ("^NetworkName:") (EscapedLiteralPart token:<Lit_EscapedChar "\\s">) ("+HostInterfaceNetworking") ) } ) (C {(awk)} {(SQ <"{print $2}">)}) (While cond: [ (Sentence child: (C {(read)} {(-r)} {(network_name)}) terminator: <Op_Semi ";"> ) ] body: (DoGroup children: [ (AndOr children: [ (DBracket expr: (BoolUnary op_id: BoolUnary_n child: {($ VSub_Name "$existing_nets_reg_ex")} ) ) (AndOr children: [ (Pipeline children: [ (SimpleCommand words: [ {(egrep)} {(-q)} {(DQ ($ VSub_Name "$existing_nets_reg_ex"))} ] redirects: [ (Redir op_id: Redir_TLess fd: -1 arg_word: {($ VSub_Name "$network_name")} spids: [268] ) ] ) ] negated: True ) (ControlFlow token: <ControlFlow_Continue continue> ) ] op_id: Op_DAmp ) ] op_id: Op_DAmp ) (C {(remove_DHCPservers)} {($ VSub_Name "$network_name")}) ] spids: [245 282] ) ) ] negated: False ) ] spids: [-1 67] ) ] else_action: [ (AndOr children: [ (C {(VBoxManage)} {(dhcpserver)} {(remove)} {(--netname)} {(DQ ($ VSub_Name "$network_name"))} ) (AndOr children: [ (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:return) op: Equal rhs: {(0)} spids: [304] ) ] spids: [302] ) (Assignment keyword: Assign_Local pairs: [ (assign_pair lhs: (LhsName name:return) op: Equal rhs: {($ VSub_QMark "$?")} spids: [311] ) ] spids: [309] ) ] op_id: Op_DPipe ) ] op_id: Op_DAmp ) (ControlFlow token: <ControlFlow_Return return> arg_word: {($ VSub_Name "$return")} ) ] spids: [285 320] ) ] spids: [42] ) spids: [38 41] ) (FuncDef name: create_vagrant_vms body: (BraceGroup children: [ (AndOr children: [ (C {(cd)} {($ VSub_Name "$REPO_ROOT") (/bootstrap/vagrant_scripts)}) (C {(vagrant)} {(up)}) ] op_id: Op_DAmp ) ] spids: [335] ) spids: [331 334] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolBinary op_id: BoolBinary_GlobDEqual left: { (DQ (BracedVarSub token: <VSub_Name BASH_SOURCE> bracket_op: (ArrayIndex expr:(ArithWord w:{(Lit_Digits 0)})) spids: [360 365] ) ) } right: {(DQ (${ VSub_Number 0))} ) ) terminator: <Op_Semi ";"> ) ] action: [(C {(remove_DHCPservers)}) (C {(create_vagrant_vms)})] spids: [-1 379] ) ] spids: [-1 387] ) ] )