分类:
2008-05-23 13:23:58
script(1) script(1)
名称
script - 生成终端会话的文件版本
概要
script [-a] [ file ]
说明
script 生成在终端上输出的任何内容的文件版本。它启动一个由SHELL 环境变量命名的Shell,或缺省情况下启动/usr/bin/sh ,并使用伪终端(参阅pty(7) )以静默方式记录从该Shell 或其派生项向终端输出的内容的副本。
所有的输出都会写入file ,或追加到file (如果给定了-a 选项)。如果没有指定文件名,则输出会保存到名为typescript 的文件中。以后可以使用lp(1) 将记录内容发送到行式打印机,或使用cat(1) 和-v 选项安全地查阅记录。
当派生的Shell 退出(或用户通过键入“exit”结束会话)时,或者Shell 及其所有派生项关闭了伪终端设备时,记录过程将终止。
在运行CRT 显示且需要对话的硬拷贝时,此程序非常有用。它还可以用于简单形式的会话审计。
script 遵循登录Shell 的约定,如su(1) 、sh(1) 和ksh(1) 中所述。因此,如果它由以连字符(-) 开头的命令名(即-script )调用,则script 会将一个基名传递给也是以连字符开头的Shell。
在运行script 之前,可通过设置环境变量SCRIPT_USE_IXOFF 来启用输入流控制。请参阅警告一节,了解如何使用此环境变量的详细信息。
举例
将用户屏幕上输出的所有内容保存到scott 文件中:
script scott
将用户屏幕上输出的所有内容的副本追加到temp 文件中:
script -a temp
警告
在执行script 时不应使用诸如cat scott 这类可显示目标文件内容的命令,因为这样做会使script 将cat 命令的输出记录到其本身,直至所有可用磁盘空间耗尽为止。其他命令如more(1) 也可能导致同样的问题,但危害程度要低一些。
script 在file 中记录所有收到的输出,包括键入错误、退格和光标移动。请注意,它不记录由键盘键入的字符,而只记录回显的字符。这样file 中就不会记录口令。非简单回显的响应(例如来自面向屏幕的编辑器和ksh 命令编辑的输出)会像它们出现在原始会话中那样进行记录。
在没有输入流控制(未设置SCRIPT_USE_IXOFF )时,使用script 可能会丢失一些数据。但是,如果设置了SCRIPT_USE_IXOFF 而没有设置IXANY , script(1) 的行为可能无法预知。
作者
script 由加州大学伯克利分校和HP 联合开发。