(CommandList children: [ (C {(set)} {(-o)} {(errexit)}) (C {(set)} {(-o)} {(nounset)}) (C {(set)} {(-o)} {(pipefail)}) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:KUBE_ROOT) op: Equal rhs: { (BracedVarSub token: <VSub_Name KUBE_ROOT> suffix_op: (StringUnary op_id: VTest_ColonHyphen arg_word: { (CommandSubPart command_list: (CommandList children: [(C {(dirname)} {(DQ (${ VSub_Name BASH_SOURCE))})] ) left_token: <Left_CommandSub '$('> spids: [77 85] ) (Lit_Slash /) (..) (Lit_Slash /) (..) } ) spids: [74 90] ) } spids: [73] ) ] spids: [73] ) (C {(source)} {(DQ (${ VSub_Name KUBE_ROOT) (/cluster/clientbin.sh))}) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (BoolUnary op_id: BoolUnary_z child: { (DQ (BracedVarSub token: <VSub_Name KUBEFED_PATH> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(EmptyPart)}) spids: [115 118] ) ) } ) ) terminator: <Op_Semi ';'> ) ] action: [ (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:kubefed) op: Equal rhs: { (CommandSubPart command_list: (CommandList children: [(C {(get_bin)} {(DQ (kubefed))} {(DQ (federation/cmd/kubefed))})] ) left_token: <Left_CommandSub '$('> spids: [128 140] ) } spids: [127] ) ] spids: [127] ) (If arms: [ (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolUnary op_id:BoolUnary_x child:{(DQ ($ VSub_Name '$kubefed'))}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (C {(print_error)} {(DQ (kubefed))}) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [16777215 159] ) ] spids: [16777215 174] ) ] spids: [16777215 124] ) (if_arm cond: [ (Sentence child: (DBracket expr: (LogicalNot child: (BoolUnary op_id:BoolUnary_x child:{(DQ (${ VSub_Name KUBEFED_PATH))}) ) ) terminator: <Op_Semi ';'> ) ] action: [ (BraceGroup children: [ (C {(echo)} { (DQ ("KUBEFED_PATH environment variable set to '") (${ VSub_Name KUBEFED_PATH) ("', but ") ) } ) (C {(echo)} {(DQ ("this doesn't seem to be a valid executable."))}) ] redirects: [(Redir op_id:Redir_GreatAnd fd:16777215 arg_word:{(2)} spids:[219])] spids: [196] ) (ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] spids: [176 193] ) ] spids: [16777215 227] ) (Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (LhsName name:kubefed) op: Equal rhs: { (DQ (BracedVarSub token: <VSub_Name KUBEFED_PATH> suffix_op: (StringUnary op_id:VTest_ColonHyphen arg_word:{(${ VSub_Name kubefed)}) spids: [231 237] ) ) } spids: [229] ) ] spids: [229] ) (C {(DQ (${ VSub_Name kubefed))} { (DQ (BracedVarSub token: <VSub_At '@'> suffix_op: (StringUnary op_id:VTest_Plus arg_word:{($ VSub_At '$@')}) spids: [254 258] ) ) } ) ] )