teeコマンドは標準出力にも書き込む
teeコマンドは指定したファイルに書き込むと同時に、標準入力の内容を標準出力にも書き込む。
$ seq 1 3 | tee out.txt
1
2
3
画面に1 2 3が表示され、out.txtにも同じ内容が保存される。
標準出力を/dev/nullにリダイレクトする
画面への表示が不要な場合は、teeコマンド自体の標準出力を/dev/nullにリダイレクトする。
コマンド | tee ファイルパス > /dev/null
$ seq 1 3 | tee out2.txt > /dev/null
$ cat out2.txt
1
2
3
tee out2.txt > /dev/nullの実行時には画面に何も表示されないが、out2.txtには1 2 3が保存されている。
用途
teeコマンドを使わずにコマンド > ファイルパスとリダイレクトするだけでも同じ結果は得られるが、コマンドの一部としてteeを組み込んでおくと、あとから> /dev/nullを外すだけで画面出力も確認できるようになる。デバッグ時に画面出力を有効化し、本番運用時は/dev/nullに切り替える、といった使い分けができる。
\第一線のプログラマーの行動原理を学べる!/
