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件)です。


