devtools: fix shellcheck warnings
Fix problems that shellcheck (https://github.com/koalaman/shellcheck)
found in the shell scripts in devtools.
Change-Id: I79cd9ba08c2253bb9c85804090db74ee77a369da
Reviewed-on: https://go-review.googlesource.com/c/pkgsite-metrics/+/469535
Reviewed-by: Zvonimir Pavlinovic <zpavlinovic@google.com>
TryBot-Result: Gopher Robot <gobot@golang.org>
Run-TryBot: Jonathan Amsterdam <jba@google.com>
diff --git a/devtools/deploy.sh b/devtools/deploy.sh
index 8b95673..dd6f397 100755
--- a/devtools/deploy.sh
+++ b/devtools/deploy.sh
@@ -40,7 +40,7 @@
if which grants > /dev/null; then
local allowed=false
- while read g _ ok _; do
+ while read _ _ ok _; do
if [[ $ok = OK ]]; then
allowed=true
fi
@@ -50,11 +50,11 @@
fi
fi
- local project=$(tfvar ${env}_project)
+ local -r project=$(tfvar ${env}_project)
if [[ $project = '' ]]; then
die "no ${env}_project in terraform.tfvars"
fi
- local commit=$(git rev-parse --short HEAD)
+ local -r commit=$(git rev-parse --short HEAD)
local unclean
if ! clean_workspace; then
unclean="-unclean"
@@ -66,4 +66,4 @@
--substitutions SHORT_SHA=${commit}${unclean},_ENV=$env,_BQ_DATASET=$dataset
}
-main $@
+main "$@"
diff --git a/devtools/lib.sh b/devtools/lib.sh
index ff2f3ac..56e2114 100644
--- a/devtools/lib.sh
+++ b/devtools/lib.sh
@@ -8,21 +8,21 @@
MAXWIDTH=0
if tput setaf 1 >& /dev/null; then
- RED=`tput setaf 1`
- GREEN=`tput setaf 2`
- YELLOW=`tput setaf 3`
- NORMAL=`tput sgr0`
+ RED=$(tput setaf 1)
+ GREEN=$(tput setaf 2)
+ YELLOW=$(tput setaf 3)
+ NORMAL=$(tput sgr0)
MAXWIDTH=$(( $(tput cols) - 2 ))
fi
EXIT_CODE=0
-info() { echo -e "${GREEN}$@${NORMAL}" 1>&2; }
-warn() { echo -e "${YELLOW}$@${NORMAL}" 1>&2; }
-err() { echo -e "${RED}$@${NORMAL}" 1>&2; EXIT_CODE=1; }
+info() { echo -e "${GREEN}$*${NORMAL}" 1>&2; }
+warn() { echo -e "${YELLOW}$*${NORMAL}" 1>&2; }
+err() { echo -e "${RED}$*${NORMAL}" 1>&2; EXIT_CODE=1; }
die() {
- err $@
+ err "$@"
exit 1
}
@@ -32,7 +32,7 @@
# then runs it. It sets EXIT_CODE to non-zero if the command fails, but does not exit
# the script.
runcmd() {
- msg="$@"
+ msg="$*"
if $dryrun; then
echo -e "${YELLOW}dryrun${GREEN}\$ $msg${NORMAL}"
return 0
@@ -43,32 +43,33 @@
msg="${msg::$(( MAXWIDTH - 3 ))}..."
fi
- echo -e "$@\n" 1>&2;
- $@ || err "command failed"
+ echo -e "$*\n" 1>&2;
+ "$@" || err "command failed"
}
# tfvar NAME returns the value of the terraform variable NAME.
tfvar() {
local v=TF_VAR_$1
- echo ${!v}
+ echo "${!v}"
}
worker_url() {
- local env=$1
+ local -r env=$1
echo https://${env}-${GO_ECOSYSTEM_WORKER_URL_SUFFIX}
}
impersonation_service_account() {
- local env=$1
+ local -r env=$1
+ local -r project=$(tfvar ${env}_project)
case $env in
- prod|dev) echo impersonate@$(tfvar ${env}_project).iam.gserviceaccount.com;;
- *) die "usage: $0 (dev | prod)";;
+ prod|dev) echo impersonate@${project}.iam.gserviceaccount.com;;
+ *) die "usage: $0 (dev | prod) ...";;
esac
}
impersonation_token() {
- local env=$1
- gcloud --impersonate-service-account $(impersonation_service_account $env) \
+ local -r env=$1
+ gcloud --impersonate-service-account "$(impersonation_service_account "$env")" \
auth print-identity-token \
--include-email
}