-2
FROM_PROJECT=false
if [[ -z $INV_NAME ]]; then
if [[ -z $PRO_NAME ]]; then
echo "error: variable not set" >&2
exit 1
elif [[ -z $INV_FILE ]]; then
echo "error: variable INV not set" >&2
exit 1
fi
FROM_PRO=true
elif [[ -n $PRO_NAME ]] || [[ -n $INV_FILE ]]; then
echo "error: variable INV_NAME is not compatible with PRO_NAME and INVENTORY_FILE" >&2
exit 1
「-z」と「-n」がここで何をしているのかよくわかりません。このシェルスクリプトは何をしますか?
http://explainshell.com/では、1行のシェルについて説明します。 '[[-z $ INV_NAME]]'や '[[-n $ PRO_NAME]]'をそこで使うことができます。 –
ところで、 'true'と' false'文字列を条件として使用することは非常に悪いことです。これを行うコードは、通常、if $ FROM_PROJECTのようなものも行います。 (変数の内容に任意の値を与えることができ、セキュリティレビューがチェックする必要のあるものを追加する場合)を実行します。代わりに、空/空でない状態を使用してブール値を決定します。 –
( 'some'value'が正の整数値を保持している場合はif((some_value))'が真理になります。また、それ自身が正の値を保持する変数の名前整数値)。 –