プログラムの画面出力を根こそぎファイルに保存する

対象プラットフォーム: FreeBSD 7.x / FreeBSD 6.x

はじめに

kernelの構築時等、多くの画面出力を伴うプログラムを実行する際、その画面出力をファイルに保存しておきたい場合があります。

こういった用途では、一般的にリダイレクト「>」が利用されますが、リダイレクトでは、一部のシェルで標準エラーへの出力を取りこぼしたりと何かと問題があります。

このページでは、このような用途に最適な「script」について説明します。

「script」の利用方法

「script」は標準でシステムにインストールされていますので、portsを導入したりする必要はありません。
一般的に、下記のように利用します。

「script」の利用例
$ script -q -a -t 0 log.txt make install clean

上記の例では、「make install clean」によって画面に表示される出力を「log.txt」に保存します。

「-q」はquietの意味で、scriptで保存されるプログラム出力の最初と最後に、scriptが現在時間等の情報を出力することを抑止します。
「-a」は指定したファイルへの追記を意味します、このパラメータを付与しないと、scriptは指定されたファイルの中身を消去してから、プログラムの出力を保存するようになります。
「-t 0」は、画面出力を保存するタイミングで、この場合、画面出力のI/Oのタイミングでファイルに画面出力と同等の情報が保存されます。


あなたの探し物は見つかりましたか?
まさにこれだ 参考になった ちょっと違う これじゃない
何かコメントがあればお願いします


目次に戻る

image