"set -u"を設定するときに変数が-zに設定されていることをBashに確認しますか?

#!/usr/bin/env bash
set -euo pipefail


if [ -z "$BUILD_DATE" ]; then
  export BUILD_DATE="$(date +%s%N)"
  echo "???"
else 
  echo "!!!!!!!"
fi

上記はエラーが発生したため、何も印刷しませんenv/local-testing.sh:22: BUILD_DATE: parameter not set

set +u条件を実行してset -u再循環させる以外に他のオプションはありますか?

ベストアンサー1

実行中でset -u変数がある場合可能設定されておらず、空であることをテストする必要があります-z。その後、使用できます。

if [ -z "${BUILD_DATE:-}" ]; then

"${BUILD_DATE:-}"する空の文字列に展開BUILD_DATE変数が空または設定されていない場合。

おすすめ記事