誕生日にもらった意外なもの

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

A 回答 (2件)

#!/bin/csh


echo 1

という、2行だけからなるシェルファイルを作り、実行した場合、どうなるでしょうか?

同様に

#!/bin/csh -f
echo 1

という2行だけからなるシェルファイルではどうでしょうか?

option として -fを指定しなかった場合、
csh は .cshrc, .login などのファイルを読み込むと思いますが、
そのファイル中でエラーが起きているような気がします。2番目の例ではエラーが起きなくなると思うのですが…。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/07/22 23:37

おっとそれは失礼しました。


UNIXは種類によってディレクトリが異なりますので。
#!/usr/bin/csh
でお願いします。

ちなみに、ここにかわりに
#!
に続けて他のプログラムを指定するとそれが実行されます。
いま、/usr/bin/awk があったとすると、
#!/usr/bin/awk -f
としてやると、awkを起動できます。
では。
    • good
    • 0
この回答へのお礼

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

お礼日時:2002/07/22 23:33

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!