web-dev-qa-db-ja.com

環境変数の存在をチェックするcshイディオム?

いくつかのcshスクリプトを用意していますが、作業を開始する前に特定の環境変数が設定されていることを確認する必要があるため、次のようにします。

if ! $?STATE then
    echo "Need to set STATE"
    exit 1
endif

if ! $?DEST then
    echo "Need to set DEST"
    exit 1
endif

これは多くのタイピングです。環境変数がすでに設定されているかどうかを確認するためのよりエレガントなイディオムはありますか?

ノート:

  • この質問 はよく似ていますが、特にbashのソリューションについて尋ねます。
  • 私はcshが呪われている、怖い、またはbashの方が良いので、cshに近づかないようにアドバイスする人を探していません。特に、現在使用しているものよりもエレガントなソリューションに興味があります。
30
Pete

私はあなたがそれをやっている方法だと思います(ifステートメントで$?VAR構文。変数が設定されている場合は1に評価され、それ以外の場合は0に評価されます)は、おそらくあなたが望むことを行う最も慣用的なcsh構文です。

20
Jim Lewis