#
ドキュメント

Document

自分のための備忘録です。

オプション

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 "$@"