tcshの文字列が空であることを確認する方法

tcshの文字列が空であることを確認する方法

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

おすすめ記事