計算をすると、エラーやどこまで計算を進めたかとかが標準出力される(とする)。
それを記録用ファイル(Log.txtとする)に格納して残しておきたいというのが今回の目標である。
イメージとしては、
./test.sh > Log.txt
っていう感じ。でもこれだとエラーメッセージは入らない(以下で三つ目の● )。
結論
- ./test.shを走らせて標準出力される全て(結果+エラーメッセージ)をファイルに入れる。
./test.sh >& Log.txt
- ./test.shを走らせて出るエラーメッセージだけファイルに入れる。
ファイルに上書き(>)か追記(>>)かは目的によるが、とりあえず2を付け足せばいい。
./test.sh >2 Log.txt
- ./test.shを走らせて出る結果だけファイルに入れる。
ファイルに上書き(>)か追記(>>)かは目的に応じて変える。
要は、sortとかのコマンドでこれはよく使われてそう。
./test.sh > Log.txt
- sshで、sshが切れても計算を続けたいとき(nohup コマンド &)なら
nohup ./test.sh >& Log.txt &
としとけばいい。