説明
script は、端末に表示されるすべてのタイプスクリプトを作成します。タイプスクリプトは、file パラメーターで指定されたファイルに書き込まれます。
ファイル名を指定しないと、タイプスクリプトは現行作業ディレクトリーにファイル名 typescript で保管されます。このファイルがすでに存在する場合、デフォルトの動作ではそのコンテンツが上書きされます。
script は、トラブルシューティングおよび文書化の目的でシェル・セッション・アクティビティーを記録する際に役立ちます。
オプション
- –a
- タイプスクリプトをファイルに追加します。
- –q
- 抑制モードです。すべての診断メッセージが抑止されます。
例
ファイルの削除を文書化するためにシェル・セッション・アクティビティーを記録するには、以下のステップを実行します。
- script コマンドを発行して、シェル・セッション・アクティビティーの記録を開始します。
script
- ファイルの削除を開始し、その後シェル・セッション・アクティビティーの記録を終了します。
rm -v removeme*
exit
- 記録の終了後、script で作成されたタイプスクリプトのコンテンツは以下のようになります。
Script command is started on Fri Jan 29 11:25:15 2010.
SYS1: /u/user1/mydir> rm -v removeme*
removeme1
removeme2
removeme3
SYS1: /u/user1/mydir> exit
Script command is complete on Fri Jan 29 11:25:17 2010.
環境変数
script は、以下の環境変数を使用します。
- SHELL
- script により fork されるシェルの名前が含まれます。
ローカライズ
script は、以下のローカライズ環境変数を使用します。
- LANG
- LC_ALL
- LC_CTYPE
- LC_MESSAGES
- LC_TOD
- NLSPATH
詳しくは、ローカライズを参照してください。
使用上の注意
- script は、SHELL 環境変数の値に従ってシェルを fork および実行します。この環境変数が設定されていない場合、script は /bin/sh シェルを使用します。シェル・プロセスが終了すると、script が終了します。シェル・プロセスを終了するには、exit または Ctrl-D を使用します。
- script は、バックスペースおよびプロンプトを含め、タイプスクリプト内のすべてをファイルに書き込むため、vi などの画面表示を変更するコマンドを使用すると、タイプスクリプトに予期しないデータが作成されることがあります。
- タイプスクリプトが含まれるファイルには機密データが含まれる可能性があるため、script を実行する前と後に、このファイルへのアクセスが正しく制御されていることを確認してください。
- script は、シェル・セッション中は 3270 パススルー・モードの設定をサポートしていません。そのため、3270 パススルー・モードを必要とする OEDIT、OBROWSE、およびその他のユーティリティーでは失敗します。
- script は、シェル・プロセス用の新規セッションおよび制御端末を作成します。このセッションおよび端末では、ログイン・アカウンティング項目は /etc/utmpx に追加されません。
- script は、バックグラウンド・プロセスでは実行できません。
例えば、script コマンドの最後での & の使用はサポートされていません。また、BPXBATCH による script コマンドの実行もサポートされていません。
- シェル・セッション中は、script によって使用中のタイプスクリプト・ファイルにアクセスしないでください。そうでないと、予期しない結果が生じる可能性があります。
終了値
- 0
- script コマンドの始動成功
- 1
- 以下のいずれかによる失敗。
- 標準出力、入力、またはエラーのファイル記述子にアクセスできない
- コマンド行のオプションが正しくない
- タイプスクリプト・ファイルを開いたり、書き込み、または初期化できない
- 疑似端末を開いたり書き込んだりできない
- 制御端末にアクセスできない
- システム・リソースを割り振ることができない
- 129-255
- script がシグナルにより割り込まれた。終了値はシグナル番号と 128 の合計です。例えば、SIGTERM (シグナル番号 15) は終了値が 143 となります。
移植性
script について、承認されている POSIX 標準はありません。