script
は端末に表示されたものすべての写し (typescript) を作成する。
これは宿題を出された学生が、インタラクティブなセッションの
ハードコピーを必要とする場合などに便利だろう。
記録された typescript ファイルを、後で
lpr 1
などを使って印刷すれば良い。
引き数
file
が指定されると、
はすべての記録を
file
に保存する。ファイル名が与えられなければ、写しは
typescript
というファイルに保存される。
オプション:
-tag -width Ds
Fl a
出力を
file
または
typescript
に追加 (append) する。
以前の内容が保存される。
Fl c Ar COMMAND
インタラクティブなシェルではなく、COMMAND を実行する。
標準出力が端末 (tty) でないと動作が変わってしまうプログラムの出力を、
script が簡単に記録できるようにする。
Fl f
書き込みをするごとに出力をフラッシュする。
これは遠隔で共同作業をする場合に良い。
一方の人が `mkfifo foo; script -f foo' を実行した場合、
もう一方の人は、`cat foo' を使うことにより、
何が実行されているかをリアルタイムで監視することができる。
Fl q
寡黙な動作にする。
Fl t
タイミングデータを標準エラーに出力する。
このデータはスペースで区切られた 2 つのフィールドからなる。
1 番目のフィールドは、前の出力からの経過時間を表す。
2 番目のフィールドは、そのときに何文字出力されたかを表す。
この情報は、タイピングと出力の実際の遅延時間で、写しを再現するために使われる。
script は fork されたシェルが終了したときに記録を終える
(Bourne シェル
( Xr sh 1 )
を終わるには
control-D
を入力する。
C シェル
( Xr csh 1)
なら
exit ,
logout ,
control-d
のいずれかを入力する。
ただし
control-d
が有効なのは
ignoreeof
がセットされていない場合である)。
vi 1
のようなインタラクティブなコマンドでは、
typescript ファイルにゴミができることがある。
script
は画面を操作しないコマンドを扱ったときに最もうまく動作する。
その場合の結果は、ハードコピー端末をエミュレートしたものとなる。