echoで連続するファイル出力

サラトガIT日記 > Linux(UNIX) > echoで連続するファイル出力 echoで連続するファイル出力

※実経験の記憶を頼りに自宅の PC 環境(VMWareなど)で再現している内容もあるのでご注意下さい

2008-07-17

 

シェルスクリプトの実行中にログをファイルに残そうとすると、後から見やすくするためにログをきれいに整形したくなります。しかし、わかりやすいログを書いていくと、echo での出力箇所が多くなって、何度もファイルにリダイレクトしなくてはいけません。前回、ヒアドキュメントを使ったファイルへの出力方法を書きましたが、今回は echo を使ったファイルへのログ出力が連続する場合のまとめ方です。まずは、よくある一時的な逃げ方。

$ vi saratoga.sh

#!/bin/sh

echo "/*----------" >> saratoga.log
echo "/* START" >> saratoga.log
echo "/*----------" >> saratoga.log

exit 0;


$ cat saratoga.log

/*----------
/* START
/*----------

これだと、毎回ファイルへのリダイレクト指定が必要です。そこで、echo の出力をまとめてファイルにリダイレクトします。こうすれば、少しはきれいに納まりそうです。

$ vi saratoga.sh

#!/bin/sh

{
  echo "/*----------"
  echo "/* START"
  echo "/*----------"
} > saratoga.log

exit 0;


$ cat saratoga.log

/*----------
/* START
/*----------

関連記事

上記の記事に関連する記事(最新の10件)です。