2009/05/26

[cshell]echoの出力結果をファイルに吐き出す

echoでよく変数を出力させるのですが、ログとしてファイルに残せなることがわかりました。

リダイレクション [>, >>, <]
# コマンドの出力を file へ上書きする
command >file

# コマンドの出力を file へ追記する
command >>file

via:入力と出力

上のサイトでは、commandと書かれていましたが、ここのサイトをみてみると、echoでも差し替え可能みたいです。

ちょっとサンプルを作ってみることに。

#!/bin/csh
echo "Now is `date +%Y:%m:%d:%H:%M:%S`" > "test.log"

これは、現在の時刻を、test.logファイルに書いてくださいねーという内容。

便利なのは、test.logがない場合は、自動的に作成されそこに、書き出してくれること。

逆に既に存在している場合は、上書きされるみたいです。

では次に、

#!/bin/csh
echo "Now is `date +%Y:%m:%d:%H:%M:%S`" >> "test.log"

先ほど、あまり変わっていないのですが、違いは、test.logを上書きするのではなく、どんどん追記していくこと。

これもまた便利なことに、ファイルが存在しない場合は、自動的に作ってくれるところ。

ログ管理を検討する時に、考慮したいかなと。

0 コメント:

コメントを投稿