シェルのスクリプトでログをファイルに書き出す方法は?
シェルのスクリプトでは、リダイレクト演算子「>」を使って標準出力や標準エラー出力をファイルに出力できる。
スクリプトのログ出力をファイルに書き出す一般的な方法を以下に示します。
- すべての出力をファイルにリダイレクトする(標準出力と標準エラー出力の両方):
./script.sh > log.txt 2>&1
スクリプトのすべての出力をlog.txtファイルに追加します。
- 標準出力をファイルにリダイレクトしつつ、標準エラー出力は端末に出力する:
./script.sh > log.txt
実行すると、標準出力は log.txt に追記され、標準エラーは標準出力に表示されます。
- 標準出力と標準エラー出力それぞれを異なるファイルにリダイレクトする
./script.sh > stdout.txt 2> stderr.txt
このスクリプトの標準出力をファイル stdout.txt に追加し、標準エラー出力をファイル stderr.txt に追加します。
- 標準出力と標準エラー出力を同一ファイルに出力しつつ、コンソールにも出力
./script.sh | tee log.txt
スクリプトの標準出力と標準エラー出力を同時にターミナルに出力し、その内容をlog.txtに出力に追加します。
スクリプトのログをファイルに出力する方法として、いくつかの一般的な手法を紹介しました。実際のニーズに応じて、適切な方法を選択してください。