• ベストアンサー

シェルファイル内での「setenv」、「unsetenv」の実行 その2

シェルファイルの先頭行に、 「#!/bin/csh」 と記述したところ「system: Undefined variable.」というメッセージが出力されてしまいました・・・。 どうしたらよいのでしょう?設定の問題なのでしょうか? よくわからないのですが、 「env | grep csh」 と実行してみると「SHELL=/user/bin/csh」という結果がえられるのですが・・・。

質問者が選んだベストアンサー

  • ベストアンサー
  • wolv
  • ベストアンサー率37% (376/1001)
回答No.2

#!/bin/csh echo 1 という、2行だけからなるシェルファイルを作り、実行した場合、どうなるでしょうか? 同様に #!/bin/csh -f echo 1 という2行だけからなるシェルファイルではどうでしょうか? option として -fを指定しなかった場合、 csh は .cshrc, .login などのファイルを読み込むと思いますが、 そのファイル中でエラーが起きているような気がします。2番目の例ではエラーが起きなくなると思うのですが…。

exdriver
質問者

お礼

御回答ありがとうございます。 一つ目の手法では同様のエラーが出力されたのですが、 「source シェルファイル名」 とすることでとりあえず解決しました。 2つ目の手法はぜひ試行させていただきます。 エラーの原因はおそらくご指摘の通りだと思います。

その他の回答 (1)

noname#11476
noname#11476
回答No.1

おっとそれは失礼しました。 UNIXは種類によってディレクトリが異なりますので。 #!/usr/bin/csh でお願いします。 ちなみに、ここにかわりに #! に続けて他のプログラムを指定するとそれが実行されます。 いま、/usr/bin/awk があったとすると、 #!/usr/bin/awk -f としてやると、awkを起動できます。 では。

exdriver
質問者

お礼

御回答ありがとうございます。 #!/usr/bin/csh を記述しても同様のエラーが出力されたのですが、 「source シェルファイル名」 とすることでとりあえず解決しました。

関連するQ&A