#!/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
変数が空または設定されていない場合。