- PR -

atコマンドの変数定義について

1
投稿者投稿内容
しん
会議室デビュー日: 2005/10/17
投稿数: 4
投稿日時: 2005-11-04 18:01
[環境]
OS:Red Hat Linux 8
シェル:Cシェル

atコマンドでシェルスクリプトを実行すると
その中で記述されている変数が上手く認識しません。

なにか良い方法がありましたら、教えてください。

[シェルスクリプト]
# filename=log.csh
#!/bin/csh
setenv LOG logname
echo "$LOG" > /tmp/log

[実行結果]
# at -f log.csh now
job 20 at 2005-11-04 17:55
# cat /tmp/log
← $LOG変数が記述されない。
#
angel
ぬし
会議室デビュー日: 2005/03/17
投稿数: 711
投稿日時: 2005-11-04 18:38
こんばんは。

まずは、cshスクリプトはお勧めしません…、というのもあるのですが…。
http://faqs.jmas.co.jp/FAQs/csh-whynot-jp を参照

それよりも、スクリプトの一行目はコメントですか?
一行目は、“#!”で始まるのが、単独のプログラムとして実行可能なスクリプトとしての正式なフォーマットです。

ただ、bash は“#!”が最初に無い場合、勝手に bashスクリプトと解釈して実行しますから…、今回はそのせいで、中途半端な実行結果になっていると思われます。

以上、ご参考まで。

[ メッセージ編集済み 編集者: angel 編集日時 2005-11-04 18:43 ]
しん
会議室デビュー日: 2005/10/17
投稿数: 4
投稿日時: 2005-11-04 19:10
ご回答ありがとうございます。

>それよりも、スクリプトの一行目はコメントですか?

すいません。
シェルスクリプトのファイル名を書き忘れていたので
ここに書く時に書いちゃいました。^^;

>ただ、bash は“#!”が最初に無い場合、勝手に bashスクリプトと解釈して実行しますか
>ら…、今回はそのせいで、中途半端な実行結果になっていると思われます。

Cシェルで書いた時は上手くいかなかったんですが
Bシェルに変更したら上手くいきました。
(やっぱりCシェルなんか不具合あるんですかねぇ・・・)

今後はBシェルを使おうと思います。
ありがとうございました。助かりました。


1

スキルアップ/キャリアアップ(JOB@IT)