標準出力、標準エラーをexecコマンドにより指定 †シェルスクリプトを作成し、各種メッセージをファイルに出力する場合、>>を使ってファイルに出力したりしますね。 関連資料 †
execコマンドにより出力先の指定 †以下のサンプルスクリプトのように、最初にexecにより出力先を指定します。 サンプルスクリプトの説明 †以下のサンプルは3行目のdateコマンドは正常終了、4行目のdateコマンドはオプションエラーとなります。 #!/bin/bash exec 2>> stderr.log 1>> stdout.log date date error # Option error サンプルスクリプトを実行 †サンプルスクリプトに実行権限を付与し実行します。 $ chmod +x exec_sample.sh $ ./exec_sample.sh $ ls std*.log stderr.log stdout.log $ cat stdout.log 2011年 3月 3日 木曜日 12:34:56 JST $ cat stderr.log date: invalid date `error' 標準出力と標準エラーを同一のファイルに出力したい †標準出力と標準エラーを同一のファイルに出力したい場合は、サンプルスクリプトの2行目を以下のように変更すれば可能です。 exec >> stdouterr.log 2>&1 |