From 6df3deb4bc229cc8719c8bf780207d6b9b8bcaee Mon Sep 17 00:00:00 2001 From: Roy Lenferink Date: Sat, 19 Jan 2019 13:58:58 +0100 Subject: [PATCH] Bash script syntax improvements --- hack/gen-swagger-doc/gen-swagger-docs.sh | 6 +- hack/jenkins/build.sh | 2 +- hack/jenkins/gotest.sh | 2 +- hack/jenkins/upload-to-gcs.sh | 4 +- hack/jenkins/verify-dockerized.sh | 2 +- hack/jenkins/verify.sh | 2 +- hack/lib/logging.sh | 4 +- hack/lib/test.sh | 208 +++++++++++------------ hack/make-rules/test-e2e-node.sh | 8 +- hack/update-openapi-spec.sh | 4 +- hack/update-staging-godeps-dockerized.sh | 4 +- hack/update-translations.sh | 10 +- 12 files changed, 128 insertions(+), 128 deletions(-) diff --git a/hack/gen-swagger-doc/gen-swagger-docs.sh b/hack/gen-swagger-doc/gen-swagger-docs.sh index 10c5cf14f2..6fdedfb7c8 100755 --- a/hack/gen-swagger-doc/gen-swagger-docs.sh +++ b/hack/gen-swagger-doc/gen-swagger-docs.sh @@ -37,12 +37,12 @@ top_level_models=$(grep '&[A-Za-z]*{},' /register.go | sed 's/.*&//;s/{},//') VERSION="${1#*_}" for m in ${top_level_models} do - if grep -xq "=== ${VERSION}.$m" ./definitions.adoc + if grep -xq "=== ${VERSION}.${m}" ./definitions.adoc then - buf+="* <<${VERSION}.$m>>\n" + buf+="* <<${VERSION}.${m}>>\n" fi done -sed -i "1i $buf" ./definitions.adoc +sed -i "1i ${buf}" ./definitions.adoc # fix the links in .adoc, replace <> with link:definitions.html#_x_y[x.y], and lowercase the _x_y part sed -i -e 's|<<\(.*\)\.\(.*\)>>|link:#_\L\1_\2\E[\1.\2]|g' ./definitions.adoc diff --git a/hack/jenkins/build.sh b/hack/jenkins/build.sh index 02b90370fa..132fe7fdc6 100755 --- a/hack/jenkins/build.sh +++ b/hack/jenkins/build.sh @@ -30,7 +30,7 @@ set -o xtrace # is an incoming variable Jenkins provides us for this job's scratch # space. export HOME=${WORKSPACE} # Nothing should want Jenkins $HOME -export PATH=$PATH:/usr/local/go/bin +export PATH=${PATH}:/usr/local/go/bin # Skip gcloud update checking export CLOUDSDK_COMPONENT_MANAGER_DISABLE_UPDATE_CHECK=true diff --git a/hack/jenkins/gotest.sh b/hack/jenkins/gotest.sh index 7b6778290b..ccedc05c3d 100755 --- a/hack/jenkins/gotest.sh +++ b/hack/jenkins/gotest.sh @@ -28,7 +28,7 @@ set -o xtrace # space. export HOME=${WORKSPACE} # Nothing should want Jenkins $HOME export GOPATH=${HOME}/_gopath -export PATH=${GOPATH}/bin:${HOME}/third_party/etcd:/usr/local/go/bin:$PATH +export PATH=${GOPATH}/bin:${HOME}/third_party/etcd:/usr/local/go/bin:${PATH} # Install a few things needed by unit and /integration tests. command -v etcd &>/dev/null || ./hack/install-etcd.sh diff --git a/hack/jenkins/upload-to-gcs.sh b/hack/jenkins/upload-to-gcs.sh index 116a8aea1c..67a3a7ee37 100755 --- a/hack/jenkins/upload-to-gcs.sh +++ b/hack/jenkins/upload-to-gcs.sh @@ -139,9 +139,9 @@ function print_started() { # will be available as started["metadata"][KEY.lower()]. echo " \"metadata\": {" local sep="" # leading commas are easy to track - for env_var in $metadata_keys; do + for env_var in ${metadata_keys}; do local var_upper="${env_var#BUILD_METADATA_}" - echo " $sep\"${var_upper,,}\": \"${!env_var}\"" + echo " ${sep}\"${var_upper,,}\": \"${!env_var}\"" sep="," done echo " }," diff --git a/hack/jenkins/verify-dockerized.sh b/hack/jenkins/verify-dockerized.sh index 4182d85aac..dfe1517110 100755 --- a/hack/jenkins/verify-dockerized.sh +++ b/hack/jenkins/verify-dockerized.sh @@ -21,7 +21,7 @@ set -o xtrace retry() { for i in {1..5}; do - "$@" && return 0 || sleep $i + "$@" && return 0 || sleep "${i}" done "$@" } diff --git a/hack/jenkins/verify.sh b/hack/jenkins/verify.sh index 6c2f857086..8de1e49036 100755 --- a/hack/jenkins/verify.sh +++ b/hack/jenkins/verify.sh @@ -28,7 +28,7 @@ set -o xtrace # space. export HOME=${WORKSPACE} # Nothing should want Jenkins $HOME export GOPATH=${HOME}/_gopath -export PATH=${GOPATH}/bin:${HOME}/third_party/etcd:/usr/local/go/bin:$PATH +export PATH=${GOPATH}/bin:${HOME}/third_party/etcd:/usr/local/go/bin:${PATH} # Install a few things needed by the verification tests. command -v etcd &>/dev/null || ./hack/install-etcd.sh diff --git a/hack/lib/logging.sh b/hack/lib/logging.sh index 237b92cc17..c2e193e5a3 100644 --- a/hack/lib/logging.sh +++ b/hack/lib/logging.sh @@ -34,7 +34,7 @@ kube::log::errexit() { kube::log::error "Call tree:" for ((i=1;i<${#FUNCNAME[@]}-1;i++)) do - kube::log::error " $i: ${BASH_SOURCE[$i+1]}:${BASH_LINENO[$i]} ${FUNCNAME[$i]}(...)" + kube::log::error " ${i}: ${BASH_SOURCE[${i}+1]}:${BASH_LINENO[${i}]} ${FUNCNAME[${i}]}(...)" done fi kube::log::error_exit "Error in ${BASH_SOURCE[1]}:${BASH_LINENO[0]}. '${BASH_COMMAND}' exited with status $err" "${1:-1}" 1 @@ -66,7 +66,7 @@ kube::log::stack() { local source_file=${BASH_SOURCE[$frame_no]} local source_lineno=${BASH_LINENO[$((frame_no - 1))]} local funcname=${FUNCNAME[$frame_no]} - echo " $i: ${source_file}:${source_lineno} ${funcname}(...)" >&2 + echo " ${i}: ${source_file}:${source_lineno} ${funcname}(...)" >&2 done fi } diff --git a/hack/lib/test.sh b/hack/lib/test.sh index 291e76612e..085eabd739 100644 --- a/hack/lib/test.sh +++ b/hack/lib/test.sh @@ -76,25 +76,25 @@ kube::test::object_assert() { local args=${5:-} for j in $(seq 1 ${tries}); do - res=$(eval kubectl get "${kube_flags[@]}" ${args} $object -o go-template=\"$request\") - if [[ "$res" =~ ^$expected$ ]]; then - echo -n ${green} - echo "$(kube::test::get_caller 3): Successful get $object $request: $res" - echo -n ${reset} + res=$(eval kubectl get "${kube_flags[@]}" ${args} ${object} -o go-template=\"${request}\") + if [[ "${res}" =~ ^$expected$ ]]; then + echo -n "${green}" + echo "$(kube::test::get_caller 3): Successful get ${object} ${request}: ${res}" + echo -n "${reset}" return 0 fi - echo "Waiting for Get $object $request $args: expected: $expected, got: $res" + echo "Waiting for Get ${object} ${request} ${args}: expected: ${expected}, got: ${res}" sleep $((${j}-1)) done - echo ${bold}${red} + echo "${bold}${red}" echo "$(kube::test::get_caller 3): FAIL!" - echo "Get $object $request" - echo " Expected: $expected" - echo " Got: $res" - echo ${reset}${red} + echo "Get ${object} ${request}" + echo " Expected: ${expected}" + echo " Got: ${res}" + echo "${reset}${red}" caller - echo ${reset} + echo "${reset}" return 1 } @@ -103,22 +103,22 @@ kube::test::get_object_jsonpath_assert() { local request=$2 local expected=$3 - res=$(eval kubectl get "${kube_flags[@]}" $object -o jsonpath=\"$request\") + res=$(eval kubectl get "${kube_flags[@]}" ${object} -o jsonpath=\"${request}\") - if [[ "$res" =~ ^$expected$ ]]; then - echo -n ${green} - echo "$(kube::test::get_caller): Successful get $object $request: $res" - echo -n ${reset} + if [[ "${res}" =~ ^$expected$ ]]; then + echo -n "${green}" + echo "$(kube::test::get_caller): Successful get ${object} ${request}: ${res}" + echo -n "${reset}" return 0 else - echo ${bold}${red} + echo "${bold}${red}" echo "$(kube::test::get_caller): FAIL!" - echo "Get $object $request" - echo " Expected: $expected" - echo " Got: $res" - echo ${reset}${red} + echo "Get ${object} ${request}" + echo " Expected: ${expected}" + echo " Got: ${res}" + echo "${reset}${red}" caller - echo ${reset} + echo "${reset}" return 1 fi } @@ -128,27 +128,27 @@ kube::test::describe_object_assert() { local object=$2 local matches=${@:3} - result=$(eval kubectl describe "${kube_flags[@]}" $resource $object) + result=$(eval kubectl describe "${kube_flags[@]}" ${resource} ${object}) for match in ${matches}; do - if [[ ! $(echo "$result" | grep ${match}) ]]; then - echo ${bold}${red} + if [[ ! $(echo "${result}" | grep ${match}) ]]; then + echo "${bold}${red}" echo "$(kube::test::get_caller): FAIL!" - echo "Describe $resource $object" - echo " Expected Match: $match" + echo "Describe ${resource} ${object}" + echo " Expected Match: ${match}" echo " Not found in:" - echo "$result" - echo ${reset}${red} + echo "${result}" + echo "${reset}${red}" caller - echo ${reset} + echo "${reset}" return 1 fi done - echo -n ${green} - echo "$(kube::test::get_caller): Successful describe $resource $object:" - echo "$result" - echo -n ${reset} + echo -n "${green}" + echo "$(kube::test::get_caller): Successful describe ${resource} ${object}:" + echo "${result}" + echo -n "${reset}" return 0 } @@ -158,34 +158,34 @@ kube::test::describe_object_events_assert() { local showevents=${3:-"true"} if [[ -z "${3:-}" ]]; then - result=$(eval kubectl describe "${kube_flags[@]}" $resource $object) + result=$(eval kubectl describe "${kube_flags[@]}" ${resource} ${object}) else - result=$(eval kubectl describe "${kube_flags[@]}" "--show-events=$showevents" $resource $object) + result=$(eval kubectl describe "${kube_flags[@]}" "--show-events=${showevents}" ${resource} ${object}) fi - if [[ -n $(echo "$result" | grep "No events.\|Events:") ]]; then + if [[ -n $(echo "${result}" | grep "No events.\|Events:") ]]; then local has_events="true" else local has_events="false" fi - if [[ $showevents == $has_events ]]; then - echo -n ${green} + if [[ "${showevents}" == "${has_events}" ]]; then + echo -n "${green}" echo "$(kube::test::get_caller): Successful describe" - echo "$result" - echo ${reset} + echo "${result}" + echo "${reset}" return 0 else - echo ${bold}${red} + echo "${bold}${red}" echo "$(kube::test::get_caller): FAIL" - if [[ $showevents == "false" ]]; then + if [[ "${showevents}" == "false" ]]; then echo " Events information should not be described in:" else echo " Events information not found in:" fi - echo $result - echo ${reset}${red} + echo "${result}" + echo "${reset}${red}" caller - echo ${reset} + echo "${reset}" return 1 fi } @@ -194,27 +194,27 @@ kube::test::describe_resource_assert() { local resource=$1 local matches=${@:2} - result=$(eval kubectl describe "${kube_flags[@]}" $resource) + result=$(eval kubectl describe "${kube_flags[@]}" ${resource}) for match in ${matches}; do - if [[ ! $(echo "$result" | grep ${match}) ]]; then - echo ${bold}${red} + if [[ ! $(echo "${result}" | grep ${match}) ]]; then + echo "${bold}${red}" echo "FAIL!" - echo "Describe $resource" - echo " Expected Match: $match" + echo "Describe ${resource}" + echo " Expected Match: ${match}" echo " Not found in:" - echo "$result" - echo ${reset}${red} + echo "${result}" + echo "${reset}${red}" caller - echo ${reset} + echo "${reset}" return 1 fi done - echo -n ${green} - echo "Successful describe $resource:" - echo "$result" - echo -n ${reset} + echo -n "${green}" + echo "Successful describe ${resource}:" + echo "${result}" + echo -n "${reset}" return 0 } @@ -222,30 +222,30 @@ kube::test::describe_resource_events_assert() { local resource=$1 local showevents=${2:-"true"} - result=$(eval kubectl describe "${kube_flags[@]}" "--show-events=$showevents" $resource) + result=$(eval kubectl describe "${kube_flags[@]}" "--show-events=${showevents}" ${resource}) - if [[ $(echo "$result" | grep "No events.\|Events:") ]]; then + if [[ $(echo "${result}" | grep "No events.\|Events:") ]]; then local has_events="true" else local has_events="false" fi - if [[ $showevents == $has_events ]]; then - echo -n ${green} + if [[ "${showevents}" == "${has_events}" ]]; then + echo -n "${green}" echo "Successful describe" - echo "$result" - echo -n ${reset} + echo "${result}" + echo -n "${reset}" return 0 else - echo ${bold}${red} + echo "${bold}${red}" echo "FAIL" - if [[ $showevents == "false" ]]; then + if [[ "${showevents}" == "false" ]]; then echo " Events information should not be described in:" else echo " Events information not found in:" fi - echo $result + echo "${result}" caller - echo ${reset} + echo "${reset}" return 1 fi } @@ -255,10 +255,10 @@ kube::test::if_sort_by_has_correct_order() { local array=($(echo "$1" |awk '{if(NR!=1) print $1}')) local var for i in "${array[@]}"; do - var+="$i:" + var+="${i}:" done - kube::test::if_has_string "$var" "${@:$#}" + kube::test::if_has_string "${var}" "${@:$#}" } kube::test::if_has_string() { @@ -267,13 +267,13 @@ kube::test::if_has_string() { if grep -q "${match}" <<< "${message}"; then echo "Successful" - echo "message:$message" - echo "has:$match" + echo "message:${message}" + echo "has:${match}" return 0 else echo "FAIL!" - echo "message:$message" - echo "has not:$match" + echo "message:${message}" + echo "has not:${match}" caller return 1 fi @@ -285,22 +285,22 @@ kube::test::if_has_not_string() { if grep -q "${match}" <<< "${message}"; then echo "FAIL!" - echo "message:$message" - echo "has:$match" + echo "message:${message}" + echo "has:${match}" caller return 1 else echo "Successful" - echo "message:$message" - echo "has not:$match" + echo "message:${message}" + echo "has not:${match}" return 0 fi } kube::test::if_empty_string() { local match=$1 - if [ -n "$match" ]; then - echo "$match is not empty" + if [ -n "${match}" ]; then + echo "${match} is not empty" caller return 1 else @@ -332,26 +332,26 @@ kube::test::version::object_to_file() { name=$1 flags=${2:-""} file=$3 - kubectl version $flags | grep "$name Version:" | sed -e s/"$name Version: version.Info{"/'/' -e s/'}'/'/' -e s/', '/','/g -e s/':'/'=/g' -e s/'"'/""/g | tr , '\n' > "${file}" + kubectl version ${flags} | grep "${name} Version:" | sed -e s/"${name} Version: version.Info{"/'/' -e s/'}'/'/' -e s/', '/','/g -e s/':'/'=/g' -e s/'"'/""/g | tr , '\n' > "${file}" } kube::test::version::json_object_to_file() { flags=$1 file=$2 - kubectl version $flags --output json | sed -e s/' '/''/g -e s/'\"'/''/g -e s/'}'/''/g -e s/'{'/''/g -e s/'clientVersion:'/'clientVersion:,'/ -e s/'serverVersion:'/'serverVersion:,'/ | tr , '\n' > "${file}" + kubectl version ${flags} --output json | sed -e s/' '/''/g -e s/'\"'/''/g -e s/'}'/''/g -e s/'{'/''/g -e s/'clientVersion:'/'clientVersion:,'/ -e s/'serverVersion:'/'serverVersion:,'/ | tr , '\n' > "${file}" } kube::test::version::json_client_server_object_to_file() { flags=$1 name=$2 file=$3 - kubectl version $flags --output json | jq -r ".${name}" | sed -e s/'\"'/''/g -e s/'}'/''/g -e s/'{'/''/g -e /^$/d -e s/','/''/g -e s/':'/'='/g > "${file}" + kubectl version ${flags} --output json | jq -r ".${name}" | sed -e s/'\"'/''/g -e s/'}'/''/g -e s/'{'/''/g -e /^$/d -e s/','/''/g -e s/':'/'='/g > "${file}" } kube::test::version::yaml_object_to_file() { flags=$1 file=$2 - kubectl version $flags --output yaml | sed -e s/' '/''/g -e s/'\"'/''/g -e /^$/d > "${file}" + kubectl version ${flags} --output yaml | sed -e s/' '/''/g -e s/'\"'/''/g -e /^$/d > "${file}" } kube::test::version::diff_assert() { @@ -361,63 +361,63 @@ kube::test::version::diff_assert() { local diff_msg=${4:-""} local res="" - if [ ! -f $original ]; then - echo ${bold}${red} + if [ ! -f "${original}" ]; then + echo "${bold}${red}" echo "FAIL! ${diff_msg}" echo "the file '${original}' does not exit" - echo ${reset}${red} + echo "${reset}${red}" caller - echo ${reset} + echo "${reset}" return 1 fi - if [ ! -f $latest ]; then - echo ${bold}${red} + if [ ! -f "${latest}" ]; then + echo "${bold}${red}" echo "FAIL! ${diff_msg}" echo "the file '${latest}' does not exit" - echo ${reset}${red} + echo "${reset}${red}" caller - echo ${reset} + echo "${reset}" return 1 fi sort ${original} > "${original}.sorted" sort ${latest} > "${latest}.sorted" - if [ "$comparator" == "eq" ]; then + if [ "${comparator}" == "eq" ]; then if [ "$(diff -iwB ${original}.sorted ${latest}.sorted)" == "" ] ; then - echo -n ${green} + echo -n "${green}" echo "Successful: ${diff_msg}" - echo -n ${reset} + echo -n "${reset}" return 0 else - echo ${bold}${red} + echo "${bold}${red}" echo "FAIL! ${diff_msg}" echo " Expected: " echo "$(cat ${original})" echo " Got: " echo "$(cat ${latest})" - echo ${reset}${red} + echo "${reset}${red}" caller - echo ${reset} + echo "${reset}" return 1 fi else if [ ! -z "$(diff -iwB ${original}.sorted ${latest}.sorted)" ] ; then - echo -n ${green} + echo -n "${green}" echo "Successful: ${diff_msg}" - echo -n ${reset} + echo -n "${reset}" return 0 else - echo ${bold}${red} + echo "${bold}${red}" echo "FAIL! ${diff_msg}" echo " Expected: " echo "$(cat ${original})" echo " Got: " echo "$(cat ${latest})" - echo ${reset}${red} + echo "${reset}${red}" caller - echo ${reset} + echo "${reset}" return 1 fi fi diff --git a/hack/make-rules/test-e2e-node.sh b/hack/make-rules/test-e2e-node.sh index 6af13abafc..3831a6f482 100755 --- a/hack/make-rules/test-e2e-node.sh +++ b/hack/make-rules/test-e2e-node.sh @@ -115,14 +115,14 @@ if [ ${remote} = true ] ; then IFS=',' read -ra IM <<< "${images}" images="" for i in "${IM[@]}"; do - if [[ $(gcloud compute instances list "${instance_prefix}-$i" | grep ${i}) ]]; then - if [[ ${hosts} != "" ]]; then + if [[ $(gcloud compute instances list "${instance_prefix}-${i}" | grep ${i}) ]]; then + if [[ "${hosts}" != "" ]]; then hosts="${hosts}," fi - echo "Reusing host ${instance_prefix}-$i" + echo "Reusing host ${instance_prefix}-${i}" hosts="${hosts}${instance_prefix}-${i}" else - if [[ ${images} != "" ]]; then + if [[ "${images}" != "" ]]; then images="${images}," fi images="${images}${i}" diff --git a/hack/update-openapi-spec.sh b/hack/update-openapi-spec.sh index 3933b4e0a5..5dd36eef16 100755 --- a/hack/update-openapi-spec.sh +++ b/hack/update-openapi-spec.sh @@ -55,7 +55,7 @@ API_LOGFILE=${API_LOGFILE:-/tmp/openapi-api-server.log} kube::etcd::start -echo "dummy_token,admin,admin" > $TMP_DIR/tokenauth.csv +echo "dummy_token,admin,admin" > ${TMP_DIR}/tokenauth.csv # Start kube-apiserver kube::log::status "Starting kube-apiserver" @@ -67,7 +67,7 @@ kube::log::status "Starting kube-apiserver" --advertise-address="10.10.10.10" \ --cert-dir="${TMP_DIR}/certs" \ --runtime-config="api/all=true" \ - --token-auth-file=$TMP_DIR/tokenauth.csv \ + --token-auth-file="${TMP_DIR}/tokenauth.csv" \ --logtostderr \ --v=2 \ --service-cluster-ip-range="10.0.0.0/24" >"${API_LOGFILE}" 2>&1 & diff --git a/hack/update-staging-godeps-dockerized.sh b/hack/update-staging-godeps-dockerized.sh index 6268465ebf..790ba66a8c 100755 --- a/hack/update-staging-godeps-dockerized.sh +++ b/hack/update-staging-godeps-dockerized.sh @@ -36,7 +36,7 @@ if (( ${KUBE_VERBOSE} >= 6 )); then fi while getopts ":df" opt; do - case $opt in + case ${opt} in d) # do not godep-restore into a temporary directory, but use the existing GOPATH DRY_RUN=true ;; @@ -44,7 +44,7 @@ while getopts ":df" opt; do FAIL_ON_DIFF=true ;; \?) - echo "Invalid option: -$OPTARG" >&2 + echo "Invalid option: -${OPTARG}" >&2 exit 1 ;; esac diff --git a/hack/update-translations.sh b/hack/update-translations.sh index 69b4e50c83..0cc7b14d8a 100755 --- a/hack/update-translations.sh +++ b/hack/update-translations.sh @@ -23,7 +23,7 @@ generate_pot="false" generate_mo="false" while getopts "hf:xg" opt; do - case $opt in + case ${opt} in h) echo "$0 [-f files] [-x] [-g]" echo " -f : Files to process" @@ -78,10 +78,10 @@ fi if [[ "${generate_mo}" == "true" ]]; then echo "Generating .po and .mo files" for x in translations/*/*/*/*.po; do - msgcat -s $x > tmp.po - mv tmp.po $x - echo "generating .mo file for: $x" - msgfmt $x -o "$(dirname $x)/$(basename $x .po).mo" + msgcat -s ${x} > tmp.po + mv tmp.po ${x} + echo "generating .mo file for: ${x}" + msgfmt ${x} -o "$(dirname ${x})/$(basename ${x} .po).mo" done fi