【UNIX】teeコマンド
標準出力の内容を同時にファイルにも書きだすコマンドとして「tee」ってのがある。
標準出力+ログファイルに同じ情報を挙げたいという場合に便利。
例えば
log_file=./test.log log_date="`date +%Y/%m/%d' '%H:%M:%S`" echo "${log_date} test start" ←① echo "${log_date} test start" >> ${log_file} ←② …(なんか処理)…
ってやると①と②で同じ処理を2行に渡って書かなければならない。
①は標準出力用で②はログ出力用。
これを、tee使うことで1行で(同時に)実行できる。
log_file=./test.log
log_date="`date +%Y/%m/%d' '%H:%M:%S`"
echo "${log_date} test start" | tee -a ${log_file}
…(なんか処理)…
こんな感じ。
teeの「-a」オプションはファイルに対する追記の指示になる。
つまりリダイレクトの「>>」と同じ。
オプションなしだと新規書込みになる。これはリダイレクトの「>」と同じ。