script

script 端末セッションの写し (typescript) を作成する。
script Fl a Fl c Ar COMMAND Fl f Fl q Fl t Ar file
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 は画面を操作しないコマンドを扱ったときに最もうまく動作する。 その場合の結果は、ハードコピー端末をエミュレートしたものとなる。
script は以下の環境変数を用いる。 -tag -width SHELL Ev SHELL 環境変数 SHELL が定義されていると、 script が fork するシェルはそれになる。 SHELL が定義されていなければ、 Bourne シェルが用いられる。 (ほとんどのシェルはこの環境変数を自動的にセットする。)
csh 1 ( Em history メカニズムに関する部分), scriptreplay 1 .
script コマンドは 3.0 で登場した。
script はラインフィードやバックスペースも含め、 すべて をログファイルに書きこむ。 これは普通のユーザが期待するものとは異なるかもしれない。