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

対象プラットフォーム: FreeBSD 8.x
(下記手順を2014/05/01にFreeBSD 8.4-RELEASEで確認済み)


はじめに

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