変数が定義されていない場合、envsubst は失敗します。

変数が定義されていない場合、envsubst は失敗します。

変数の多いファイルがあります。

$ cat message.txt
Hello, ${LOCATION}! You too, ${PERSON} ;)

PERSON定義されていない場合はenvsubst何もないものに置き換えます。

$ LOCATION=World envsubst < message.txt
Hello, World! You too,  ;)

envsubstファイル内の多くの環境変数の1つが定義されていない場合、ゼロ以外の終了コード(または信頼できるコード)がどのように失敗するのですか?

ベストアンサー1

perl環境変数が定義されていない場合は、同じ操作を簡単に実行してエラーで終了できます。

perl -pe 's{\$(?|\{(\w+)\}|(\w+))}{$ENV{$1} // die "$& not defined\n"}ge'

おすすめ記事