tcshの文字列が空であることを確認する方法は?
パニックになる前にいいえ。私はtcshを使用してシェルスクリプトを作成しません。私は.tcshrcファイルでこれを使用したいので尋ねます。
特に、私はtcshで次のbashコードと同等のことをしたいと思います。
if [[ -z $myVar ]]; then
echo "the string is blank"
fi
ベストアンサー1
if ("$myVar" == "") then
echo "the string is blank"
endif
cshでは、未定義の変数にアクセスしようとするとエラーが発生します。 (Bourneシェルの観点からはset -u
常に有効なようです。)変数が定義されているかどうかをテストするには、次のようにします$?myVar
。
if (! $?myVar) then
echo "myVar is undefined"
else
if ("$myVar" == "") then
echo "myVar is empty"
else
echo "myVar is non-empty"
endif
endif
ネストの使用に注意してくださいif
。最初の条件がtrueの場合でも条件は解決されるため、else if
ここでは使用できません。"$myVar" == ""
空のケースと未定義のケースを同じ方法で処理するには、まず変数を設定します。
if (! $?myVar) then
set myVar=""
endif
if ("$myVar" == "") then
echo "myVar is empty or was undefined"
else
echo "myVar is non-empty"
endif