(List (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS errexit]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS nounset]} ) (Com {[LIT_CHARS set]} {[LIT_CHARS -o]} {[LIT_CHARS pipefail]} ) (= scope= flags=0 words=[] bindings=[('KUBE_ROOT', {[ComSub (Com {[LIT_CHARS dirname]} {[DQ [VarSub BASH_SOURCE]]})] [LIT_CHARS /..]})]) (Com {[LIT_CHARS source]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/kube-env.sh]]} ) (Com {[LIT_CHARS source]} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /cluster/][VarSub KUBERNETES_PROVIDER][LIT_CHARS /util.sh]]} ) (Case to_match={[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -s]})]]}, pat_word_list=[[{[LIT_CHARS Darwin]}], [{[LIT_CHARS Linux]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('host_os', {[LIT_CHARS darwin]})]) (= scope= flags=0 words=[] bindings=[('host_os', {[LIT_CHARS linux]})]) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Unsupported host OS. Must be Linux or Mac OS X."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (Case to_match={[DQ [ComSub (Com {[LIT_CHARS uname]} {[LIT_CHARS -m]})]]}, pat_word_list=[[{[LIT_CHARS x86_64] [LIT_OTHER "*"]}], [{[LIT_CHARS i] [LIT_OTHER "?"] [LIT_CHARS 86_64] [LIT_OTHER "*"]}], [{[LIT_CHARS amd64] [LIT_OTHER "*"]}], [{[LIT_CHARS arm] [LIT_OTHER "*"]}], [{[LIT_CHARS i] [LIT_OTHER "?"] [LIT_CHARS 86] [LIT_OTHER "*"]}], [{[LIT_OTHER "*"]}]] (= scope= flags=0 words=[] bindings=[('host_arch', {[LIT_CHARS amd64]})]) (= scope= flags=0 words=[] bindings=[('host_arch', {[LIT_CHARS amd64]})]) (= scope= flags=0 words=[] bindings=[('host_arch', {[LIT_CHARS amd64]})]) (= scope= flags=0 words=[] bindings=[('host_arch', {[LIT_CHARS arm]})]) (= scope= flags=0 words=[] bindings=[('host_arch', {[LIT_CHARS x86]})]) (List (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Unsupported host arch. Must be x86_64, 386 or arm."]]} < (DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1), > ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (= scope= flags=0 words=[] bindings=[('locations', {[Array {OP_NEWLINE "\n"} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /_output/dockerized/bin/][VarSub host_os][LIT_CHARS /][VarSub host_arch][LIT_CHARS /kubecfg]]} {OP_NEWLINE "\n"} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /_output/local/bin/][VarSub host_os][LIT_CHARS /][VarSub host_arch][LIT_CHARS /kubecfg]]} {OP_NEWLINE "\n"} {[DQ [VarSub KUBE_ROOT][LIT_CHARS /platforms/][VarSub host_os][LIT_CHARS /][VarSub host_arch][LIT_CHARS /kubecfg]]} {OP_NEWLINE "\n"}]})]) (= scope= flags=0 words=[] bindings=[('kubecfg', {[ComSub (Pipeline (Subshell (AndOr OP_OR_IF (Com redirects=[(FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 2)]{[LIT_CHARS ls]} {[LIT_CHARS -t]} {[DQ [VarSub locations bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]]}) (Com {[LIT_CHARS true]}) ) ) (Com {[LIT_CHARS head]} {[LIT_CHARS -1]}) )]})]) (If (DBracket {B! {B1 UNARY_FILE_x {[DQ [VarSub kubecfg]]}}}) (List (List redirects=[(DescriptorRedirectNode target={[LIT_CHARS 2]} &"> 1)] (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "It looks as if you don't have a compiled kubecfg binary."]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "If you are running from a clone of the git repo, please run"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "'./build/run.sh hack/build-cross.sh'. Note that this requires having"]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Docker installed."]]} ) (Com {[LIT_CHARS echo]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "If you are running from a binary release tarball, something is wrong. "]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "Look at http://kubernetes.io/ for information on how to contact the "]]} ) (Com {[LIT_CHARS echo]} {[DQ [LIT_CHARS "development team for help."]]} ) ) (Com {[LIT_CHARS exit]} {[LIT_CHARS 1]} ) ) ) (If (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub KUBERNETES_PROVIDER]]} {[DQ [LIT_CHARS vagrant]]}}) (= scope= flags=0 words=[] bindings=[('auth_config', {[Array {OP_NEWLINE "\n"} {[DQ [LIT_CHARS -auth]]} {[DQ [VarSub HOME][LIT_CHARS /.kubernetes_vagrant_auth]]} {OP_NEWLINE "\n"}]})]) (DBracket {B2 BINARY_STRING_EQUAL {[DQ [VarSub KUBERNETES_PROVIDER]]} {[DQ [LIT_CHARS gke]]}}) (List (Fork (Com {[LIT_CHARS detect-project]} ) ) (Com < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (= scope= flags=0 words=[] bindings=[('cluster_config_dir', {[DQ [VarSub GCLOUD_CONFIG_DIR][LIT_CHARS /][VarSub PROJECT][LIT_CHARS .][VarSub ZONE][LIT_CHARS .][VarSub CLUSTER_NAME]]})]) (= scope= flags=0 words=[] bindings=[('auth_config', {[Array {OP_NEWLINE "\n"} {[DQ [LIT_CHARS "-certificate_authority="][VarSub cluster_config_dir][LIT_CHARS /ca.crt]]} {OP_NEWLINE "\n"} {[DQ [LIT_CHARS "-client_certificate="][VarSub cluster_config_dir][LIT_CHARS /kubecfg.crt]]} {OP_NEWLINE "\n"} {[DQ [LIT_CHARS "-client_key="][VarSub cluster_config_dir][LIT_CHARS /kubecfg.key]]} {OP_NEWLINE "\n"} {[DQ [LIT_CHARS "-auth="][VarSub cluster_config_dir][LIT_CHARS /kubernetes_auth]]} {OP_NEWLINE "\n"}]})]) ) (ElseTrue) (= scope= flags=0 words=[] bindings=[('auth_config', {[Array ]})]) ) (Com {[LIT_CHARS detect-master]} < (FilenameRedirectNode filename={[LIT_CHARS /dev/null]} "> 1), > ) (If (DBracket {B? LOGICAL_BINARY_AND {B1 UNARY_STRING_n {[DQ [VarSub KUBE_MASTER_IP test_op=VS_TEST_HYPHEN {}]]}} {B1 UNARY_STRING_z {[DQ [VarSub KUBERNETES_MASTER test_op=VS_TEST_HYPHEN {}]]}}}) (= scope= flags=1 words=[] bindings=[('KUBERNETES_MASTER', {[LIT_CHARS https] [LIT_OTHER ":"] [LIT_CHARS //] [VarSub KUBE_MASTER_IP]})]) ) (Com {[DQ [VarSub kubecfg]]} {[DQ [VarSub auth_config bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}}) test_op=VS_TEST_COLON_PLUS {[VarSub auth_config bracket_op=(Index {A Atom NODE_ARITH_WORD {AS_OP_AT "@"}})]}]]} {[DQ [VarSub @]]} ) )