|1. 結果をファイルに記録する
| sh, bash など
| % program > file.log
| csh, tcsh など
| % program > file.log
|
|2. 標準エラー出力も記録する
| sh, bash など
| % program > file.log 2>&1
| csh, tcsh など
| % program >& file.log
|
|3. 標準出力と標準エラー出力を別のファイルにリダイレクト
| sh, bash など
| % program > file.log 2> errors.log
| csh, tcsh など
| % (program > file.log) >& errors.log
|
|4. コマンドの結果を別のコマンドに渡したい
| sh, bash など
| % program | other_program
| csh, tcsh など
| % program | other_program
|
|5. エラー出力も渡したい
| sh, bash など
| % program 2>&1 | other_program
| csh, tcsh など
| % program |& other_program
|
|6. 画面を見ながらその結果を片っ端から記録したい
| sh, bash など
| % program 2>&1 | tee file.log
| csh, tcsh など
| % program |& tee file.log
|
| 注) tee とは 標準入力からデータを読み込み、その内容を指定された
| ファイルと 標準出力に出力するコマンドです。
|
|7. 画面を見ながらその結果を標準出力と標準エラー出力を分けて記録したい。
| (shではできない。zshで出来ることを確認。)
| % make > LOG.stdout 2> LOG.stderr >& /dev/tty
| こっちは LOG.stdoutに両方書き込まれる。
| % make > LOG.stdout 2> LOG.stderr |& tee
|
|8. 画面を操作しながらその結果を片っ端から記録したい
| script(1)コマンドは、シェルによらず動作出来るので、とても有用です。
| % script file.log
| これで画面への入力及び出力の全てを file.log に記録する事が出来ます。
| ただし、Enter/C-p/C-nなどのシェルに対するキー入力も、コントロール
| コードとして そのまま記録されてしまいます。
| file.logへの記録を終えたいときは exitしてください。
|
|9. screen を使ってログを残す方法
| “$PREFIX_KEY H"でログ取り開始。
| ~/screenlog.0が作られる。
| “$PREFIX_KEY H"でログ取り終了。
URL: http://www.jp.freebsd.org/QandA/HTML/609.html
stdout と stderror まとめ
[ 当日のツイート
]