ablog

不器用で落着きのない技術者のメモ

1行追記するだけでスクリプトの標準出力と標準エラーをファイルに出力する

以下の1行を追記すれば良い。

exec > ファイル名 2>&1

#!/bin/bash
ls a
  • hoge2.sh
#!/bin/bash
exec > hoge2.log 2>&1
ls a
  • 実行結果
$ ./hoge.sh 
ls: a: No such file or directory
$ ./hoge2.sh  
$ cat hoge2.log 
ls: a: No such file or directory

参考

bashクックブック

bashクックブック

P.368
レシピ 15.12 スクリプト全体の出力のリダイレクト