diff options
Diffstat (limited to 'share/bash/template/template.sh.tera')
-rw-r--r-- | share/bash/template/template.sh.tera | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/share/bash/template/template.sh.tera b/share/bash/template/template.sh.tera index 938509a..0e67c4e 100644 --- a/share/bash/template/template.sh.tera +++ b/share/bash/template/template.sh.tera @@ -2,6 +2,40 @@ set -eu -o pipefail +declare -a ENV + +TEMP="$(getopt --long env: -o e: -- "$@")" +eval set -- "$TEMP" +unset TEMP + +while true +do + case "$1" in + '-e'|'--env') + case "$2" in + *=*) + # Use value from command-line + ENV=("${ENV[@]}" "$2") + ;; + *) + # Forward variable from environment + ENV=("${ENV[@]}" "$2=${!2}") + ;; + esac + shift 2 + continue + ;; + '--') + shift + break + ;; + *) + echo Unexpected argument >&2 + exit 1 + ;; + esac +done + ############################################################################# # Functions that implement steps. @@ -133,6 +167,11 @@ unset $(envnames) export PATH=/bin:/usr/bin export SHELL=/bin/sh +# Include any configured environment variables +for var in "${ENV[@]}" +do + export "$var" +done ############################################################################# # Run the scenarios. |