diff --git a/gitlab/functions.sh b/gitlab/functions.sh index b98b26eaf37e1886d9ec5010e0d6ddede9f41897..1cf58aaaf4c2f3e49b45a0e6935a8825ab364484 100644 --- a/gitlab/functions.sh +++ b/gitlab/functions.sh @@ -73,50 +73,46 @@ log_error() { } -# Checks a given environment variable is set (non-zero size) -check_env() { - if [ -z "${1+abc}" ]; then +# Checks just if the variable is defined and has non-zero length +check_defined() { + if [ -z "${!1+abc}" ]; then log_error "Variable ${1} is undefined - aborting..."; exit 1 - else - log_info "${1}=${!1}"; + elif [ -z "${!1}" ]; then + log_error "Variable ${1} is zero-length - aborting..."; + exit 1 fi } +# Checks a given environment variable is set (non-zero size) +check_env() { + check_defined "${1}" + log_info "${1}=${!1}" +} + + # Checks a given environment variable array is set (non-zero size) check_array_env() { - if [ -z "${1+abc}" ]; then - log_error "Variable ${1} is undefined - aborting..."; - exit 1 - else - for i in "${!foo[@]}"; do - log_info "${1}[${i}]=${!1[${i}]}"; - done - fi + check_defined "${1}" + for i in "${!1[@]}"; do + log_info "${1}[${i}]=${!1[${i}]}"; + done } # Exports a given environment variable, verbosely export_env() { - if [ -z "${1+abc}" ]; then - log_error "Variable ${1} is undefined - aborting..."; - exit 1 - else - export ${1} - log_info "export ${1}=${!1}"; - fi + check_defined "${1}" + export ${1} + log_info "export ${1}=${!1}" } # Checks a given environment variable is set (non-zero size) check_pass() { - if [ -z "${1+abc}" ]; then - log_error "Variable ${1} is undefined - aborting..."; - exit 1 - else - log_info "${1}=********"; - fi + check_defined "${1}" + log_info "${1}=********" }