あるプログラムの出力を見ながらファイルに保存したいと思って、
% command | tee file
とか
% command > file & % tail -f file
とかは良くやります。が、プログラムによっては、このように実行 すると、1行ずつ出るのではなく、ある程度出力が溜ってから一気 に出てしまうことがあります。stdio 系の関数(printf, puts 等 )は、出力先が端末の場合は1行ずつ出力しますが、出力先がファイ ルやパイプの場合は、プログラム内部でバッファリングしてしまい まうからです。
esc_buf は内部で仮想端末を獲得し、その仮想端末上でプログラム を実行することで、プログラムの出力を1行ずつ得られるようにし ます。
% esc_buf command | tee file
% esc_buf command > file
Last modified: Tue Jun 6 22:30:24 JST 2000