getopts でオプションを処理します。
#!/bin/bash
#
# Contents
# オプションを処理するサンプルです
# 【重要】 getopts を関数内で使用するときは関数に引数 $@ を渡す必要があります
#
set -euo pipefail
declare environment=prod
function set_option() {
function usage() {
cat <<"HELP"
Options:
-e Name of environment value is (prod|stage). prod if option omit.
-h Show this help
HELP
}
while getopts he: option; do
case "$option" in
e)
echo "-e = ${OPTARG}"
environment="${OPTARG}"
;;
h | \?)
usage
;;
esac
done
}
function output() {
if [ "$environment" = "prod" ]; then
echo "prod"
elif [ "$environment" = "stage" ]; then
echo "stage"
fi
}
function main() {
set_option "$@"
output
}
main "$@"