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

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

Linux(FreeBSD)echoで連続するファイル出力

シェルスクリプトの実行中にログをファイルに残そうとすると、後から見やすくするためにログをきれいに整形したくなります。しかし、わかりやすいログを書いていくと、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
/*----------

最終更新日:

関連記事

人気記事

新着情報