diff --git a/cluster/kubectl.sh b/cluster/kubectl.sh index 1c8e3ec59bc..7fe284b6791 100755 --- a/cluster/kubectl.sh +++ b/cluster/kubectl.sh @@ -33,6 +33,7 @@ set -o pipefail KUBE_ROOT=${KUBE_ROOT:-$(dirname "${BASH_SOURCE[0]}")/..} source "${KUBE_ROOT}/cluster/kube-util.sh" source "${KUBE_ROOT}/hack/lib/util.sh" +source "${KUBE_ROOT}/hack/lib/logging.sh" # If KUBECTL_PATH isn't set, gather up the list of likely places and use ls # to find the latest one. diff --git a/hack/lib/util.sh b/hack/lib/util.sh index 1ff406d6204..67454132c99 100755 --- a/hack/lib/util.sh +++ b/hack/lib/util.sh @@ -211,6 +211,7 @@ kube::util::find-binary-for-platform() { "${KUBE_ROOT}/_output/local/bin/${platform}/${lookfor}" "${KUBE_ROOT}/platforms/${platform}/${lookfor}" ) + # if we're looking for the host platform, add local non-platform-qualified search paths if [[ "${platform}" = "$(kube::util::host_platform)" ]]; then locations+=( @@ -219,6 +220,12 @@ kube::util::find-binary-for-platform() { ); fi + # looks for $1 in the $PATH + if which "${lookfor}" >/dev/null; then + local -r local_bin="$(which "${lookfor}")" + locations+=( "${local_bin}" ); + fi + # List most recently-updated location. local -r bin=$( (ls -t "${locations[@]}" 2>/dev/null || true) | head -1 )