空のシェル変数を使用するとエラーが発生しました。

空のシェル変数を使用するとエラーが発生しました。

$PROJECT_HOME/*時にはプロジェクト内のすべてのファイルを使用して削除します。PROJECT_HOME環境変数が設定されていない場合(私が設定し、su新しいユーザーがこの環境変数を設定していないため)、ルートフォルダからすべてのファイルが削除され始めます。これが世界の終わりです。

bashシェルで定義されていない環境変数を使用するときに発生するエラーをどのように設定しますか?

ベストアンサー1

POSIXシェルでは、次のものを使用できます。Uを設定:

#!/bin/sh

set -u
: "${UNSET_VAR}"

または使用パラメータ拡張:

: "${UNSET_VAR?Unset variable}"

あなたの場合は、設定されているが空の変数に対しても失敗を:?代わりに使用する必要があります。?

rm -rf -- "${PROJECT_HOME:?PROJECT_HOME empty or unset}"/*

おすすめ記事