シェル スクリプトを書いています。このシェル スクリプトには、デフォルト値または環境変数の値を取る変数があります。ただし、環境変数は必ずしも存在する必要はありません。
たとえば、スクリプトを実行する前に、次の操作を実行するとします。
export DEPLOY_ENV=dev
この環境変数を検索し、その値をスクリプト内の変数に保存するようにスクリプトに指示するにはどうすればよいでしょうか。また、この環境変数が存在しない場合はデフォルトの変数を保存するようにスクリプトに指示するにはどうすればよいでしょうか。
ベストアンサー1
[ -z "${DEPLOY_ENV}" ]
DEPLOY_ENV
長さがゼロかどうかをチェックします。つまり、次のように実行します。
if [[ -z "${DEPLOY_ENV}" ]]; then
MY_SCRIPT_VARIABLE="Some default value because DEPLOY_ENV is undefined"
else
MY_SCRIPT_VARIABLE="${DEPLOY_ENV}"
fi
# or using a short-hand version
[[ -z "${DEPLOY_ENV}" ]] && MyVar='default' || MyVar="${DEPLOY_ENV}"
# or even shorter use
MyVar="${DEPLOY_ENV:-default_value}"