.\" Copyright (c) 1980, 1990 Regents of the University of California. .\" All rights reserved. .\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: .\" 1. Redistributions of source code must retain the above copyright .\" notice, this list of conditions and the following disclaimer. .\" 2. Redistributions in binary form must reproduce the above copyright .\" notice, this list of conditions and the following disclaimer in the .\" documentation and/or other materials provided with the distribution. .\" 3. All advertising materials mentioning features or use of this software .\" must display the following acknowledgement: .\" This product includes software developed by the University of .\" California, Berkeley and its contributors. .\" 4. Neither the name of the University nor the names of its contributors .\" may be used to endorse or promote products derived from this software .\" without specific prior written permission. .\" .\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND .\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE .\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE .\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE .\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL .\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS .\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) .\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF .\" SUCH DAMAGE. .\" .\" @(#)script.1 6.5 (Berkeley) 7/27/91 .\" .\" Japanese Version Copyright (c) 1999 NAKANO Takeo all rights reserved. .\" Translated Thu 14 Oct 1999 by NAKANO Takeo .\" Updated Tue Jan 9 18:33:39 JST 2001 .\" by Yuichi SATO .\" Updated Sat Nov 17 15:27:01 JST 2001 .\" by Yuichi SATO .\" Updated & Modified Sat May 1 17:38:44 JST 2004 .\" by Yuichi SATO .\" .\" WORD: typescript 写し .\" .Dd July 30, 2000 .Dt SCRIPT 1 .Os Linux .Sh 名前 .Nm script .Nd 端末セッションの写し (typescript) を作成する。 .Sh 書式 .Nm script .Op Fl a .Op Fl c Ar COMMAND .Op Fl f .Op Fl q .Op Fl t .Op Ar file .Sh 説明 .Nm script は端末に表示されたものすべての写し (typescript) を作成する。 これは宿題を出された学生が、インタラクティブなセッションの ハードコピーを必要とする場合などに便利だろう。 記録された typescript ファイルを、後で .Xr lpr 1 などを使って印刷すれば良い。 .Pp 引き数 .Ar file が指定されると、 .Nm はすべての記録を .Ar file に保存する。ファイル名が与えられなければ、写しは .Pa typescript というファイルに保存される。 .Pp オプション: .Bl -tag -width Ds .It Fl a 出力を .Ar file または .Pa typescript に追加 (append) する。 以前の内容が保存される。 .It Fl c Ar COMMAND インタラクティブなシェルではなく、COMMAND を実行する。 標準出力が端末 (tty) でないと動作が変わってしまうプログラムの出力を、 script が簡単に記録できるようにする。 .It Fl f 書き込みをするごとに出力をフラッシュする。 これは遠隔で共同作業をする場合に良い。 一方の人が `mkfifo foo; script -f foo' を実行した場合、 もう一方の人は、`cat foo' を使うことにより、 何が実行されているかをリアルタイムで監視することができる。 .It Fl q 寡黙な動作にする。 .It Fl t タイミングデータを標準エラーに出力する。 このデータはスペースで区切られた 2 つのフィールドからなる。 1 番目のフィールドは、前の出力からの経過時間を表す。 2 番目のフィールドは、そのときに何文字出力されたかを表す。 この情報は、タイピングと出力の実際の遅延時間で、写しを再現するために使われる。 .El .Pp script は fork されたシェルが終了したときに記録を終える (Bourne シェル .Pf ( Xr sh 1 ) を終わるには .Em control-D を入力する。 C シェル .Pf ( Xr csh 1) なら .Em exit , .Em logout , .Em control-d のいずれかを入力する。 ただし .Em control-d が有効なのは .Em ignoreeof がセットされていない場合である)。 .Pp .Xr vi 1 のようなインタラクティブなコマンドでは、 typescript ファイルにゴミができることがある。 .Nm script は画面を操作しないコマンドを扱ったときに最もうまく動作する。 その場合の結果は、ハードコピー端末をエミュレートしたものとなる。 .Sh 環境変数 .Nm script は以下の環境変数を用いる。 .Bl -tag -width SHELL .It Ev SHELL 環境変数 .Ev SHELL が定義されていると、 .Nm script が fork するシェルはそれになる。 .Ev SHELL が定義されていなければ、 Bourne シェルが用いられる。 (ほとんどのシェルはこの環境変数を自動的にセットする。) .El .Sh 関連項目 .Xr csh 1 .Pf ( Em history メカニズムに関する部分), .Xr scriptreplay 1 . .Sh 履歴 .Nm script コマンドは .Bx 3.0 で登場した。 .Sh バグ .Nm script はラインフィードやバックスペースも含め、 .Sy すべて をログファイルに書きこむ。 これは普通のユーザが期待するものとは異なるかもしれない。