環境変数が存在するかどうかを確認し、その値を取得するにはどうすればいいですか? [重複] 質問する

環境変数が存在するかどうかを確認し、その値を取得するにはどうすればいいですか? [重複] 質問する

シェル スクリプトを書いています。このシェル スクリプトには、デフォルト値または環境変数の値を取る変数があります。ただし、環境変数は必ずしも存在する必要はありません。

たとえば、スクリプトを実行する前に、次の操作を実行するとします。

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}"

おすすめ記事