こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

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

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

投稿日時 - 2002-07-21 21:15:38

QNo.319293

困ってます

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

#!/bin/csh
echo 1

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

同様に

#!/bin/csh -f
echo 1

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

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

投稿日時 - 2002-07-22 12:06:34

お礼

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

投稿日時 - 2002-07-22 23:37:22

ANo.2

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(2)

ANo.1

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

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

投稿日時 - 2002-07-21 22:00:30

お礼

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

投稿日時 - 2002-07-22 23:33:16

あなたにオススメの質問