通常、シェルスクリプトのエラー出力をファイルに保存したい場合、以下のように、「コマンド 2>ファイル名」 でファイルに追記でリダイレクトすることがあります。
ファイル名 : myscript.sh
#!/bin/bash ls /hoge 2>> err.log cat /hoge 2>> err.log
上記スクリプトを実行し、err.logを確認します。
$ ./myscript.sh $ cat err.log ls: '/hoge' にアクセスできません: No such file or directory cat: /hoge: No such file or directory
ただし、シェルスクリプトが長くなってくると、全てのコマンドにリダイレクトを記述するのは面倒です。そういった場合は、exec を使って一括でリダイレクトすることが可能です。
#!/bin/bash exec 2> err2.log ls /hoge cat /hoge $ ./myscript.sh $ cat err2.log ls: '/hoge' にアクセスできません: No such file or directory cat: /hoge: No such file or directory