コンソール出力をログファイルにも記録する
コンソール出力をログファイルにも記録する
今日やったこと
bash でスクリプトを実行した際に、コンソール出力をログファイルにも記録するコマンド
./script.sh 2>&1 | tee -a app.log
学んだこと
./script.sh 2>&1 | tee -a app.log のそれぞれのコマンドの意味について
./script.sh: スクリプトを実行する2>&1: エラー出力も通常出力に混ぜる|左側の出力を右側のコマンドに渡すtee -a app.log: 画面に表示しつつ、app.log に追記する
やっていること
- script.sh を実行する
- 通常出力 stdout と エラー出力 stderr をまとめる
- まとめた出力を tee に渡す
- tee が画面に表示する
- 同時に app.log に追記する
Linux / Bash では、出力には主に次の種類がある
| 番号 | 名前 | 意味 |
|---|---|---|
0 |
標準入力 | キーボード入力など |
1 |
標準出力 | 通常の出力 |
2 |
標準エラー出力 | エラーや警告の出力 |