diff --git a/clean_files.txt b/clean_files.txt index 8229cb9e..e8321eb9 100644 --- a/clean_files.txt +++ b/clean_files.txt @@ -63,6 +63,7 @@ completion/available/cargo.completion.bash completion/available/conda.completion.bash completion/available/consul.completion.bash completion/available/docker.completion.bash +completion/available/gcloud.completion.bash completion/available/knife.completion.bash completion/available/packer.completion.bash completion/available/pipx.completion.bash diff --git a/completion/available/gcloud.completion.bash b/completion/available/gcloud.completion.bash index 908ee9c5..aa7c1883 100644 --- a/completion/available/gcloud.completion.bash +++ b/completion/available/gcloud.completion.bash @@ -1,9 +1,13 @@ -#/usr/bin/env bash +# shellcheck shell=bash # Bash completion for Google Cloud SDK -if which gcloud >/dev/null 2>&1; then - GOOGLE_SDK_ROOT=${GOOGLE_SDK_ROOT:-$(gcloud info --format="value(installation.sdk_root)")} - for i in $(ls ${GOOGLE_SDK_ROOT}/*.bash.inc); do - source $i - done +if _command_exists gcloud; then + # get install path + GOOGLE_SDK_ROOT=${GOOGLE_SDK_ROOT:-$(gcloud info --format="value(installation.sdk_root)")} + + # source all the bash completion file that are available + for i in "${GOOGLE_SDK_ROOT}"/*.bash.inc; do + # shellcheck disable=SC1090 + source "$i" + done fi