Linux脚本命令已经过时了,提供了简单但有用的服务。它允许您录制命令行活动 - 两个输入和输出。这可以非常有助于解决问题或通过查看与其输出运行的命令来验证稍后完成的内容。
即使你已经使用过脚本命令时间,它提供了比我们许多人的更多选项。在这篇文章中,我们会看最简单的使用脚本和一些可以使其更有用的选项。
使用的最简单方法脚本命令只是在终端窗口中键入“脚本”,然后按^ D.当您想停止录制时。默认情况下,输出将保存在名为“TypeScript”的文件中。您将看到在第一行输出中使用的文件名。
$ script脚本已启动,输出日志文件是'键字'。<==文件名$ who shs pts / 0 2021-11-16 12:10(192.168.0.8)$<== ^ d之后退出脚本完成。
指定文件名
如果使用如下图所示的命令,则可以提供更有意义的名称,该命令将文件名添加到命令:
$脚本更新脚本已启动,输出日志文件是“更新”。<==文件名$ echo运行命令运行命令$<== ^ d之后退出脚本在2021-11-16完成13:30:19-05:00 [command_exit_code =“0”]]
更新文件的内容将如下所示:
$ CAT更新脚本于2021-11-16 13:35:08-05:00 [术语=“XTerm”TTY =“/ dev / pts / 4”列=“80”行=“24”)$ echo运行命令运行命令$退出脚本在2021-11-16完成13:35:25-05:00 [command_exit_code =“0”]]
请注意,用于记录会话活动的文件不仅包括键入的命令和生成的输出,还包括文件录制开始和结束的时间和日期。
将输出附加到现有文件
如果要将会话活动录制到现有文件,则可以使用-一种(或者- 附加) 选项。
$ script -a更新
非交互式运行
当你使用的时候-C(或者- 命令)选项,脚本命令运行给出和非交互式的命令。
要运行单个命令并记录交互,可以指定如下所示的命令-C(或者- 命令) 选项。注意,如果命令需要多个字符串,则需要引号。使用此选项时,输出中的开始和结束时间不包括在输出中。
$ script -c日期脚本已启动,输出日志文件为“键字”。THU 11月18日03:50:06 PM EST 2021脚本完成。$ $ script -c“find. -ame循环 - 打印机”脚本已启动,输出日志文件是'键字'。./bin/xtra/loop ./bin/loop ./loop ./private/loop脚本完成。
您还可以将命令行传递给脚本,如下所示:
$ echo日期|脚本脚本已启动,输出日志文件是'键字'。日期$ DATE TUE 11月16日02:02:10 PM EST 2021 $退出脚本完成。
运行shell脚本
在下一个例子中,我们使用-C运行脚本的选项并将名为“myloop”的文件中的交互保存。
$ script -c bin / loop2 myloop脚本启动,输出日志文件是'myloop'。1 2 3 4脚本完成。
分离输出输入
在一些Linux系统(如Fedora)上,脚本命令还可以使用-i(或--log-in)和-o(或 - 或-log-out)选项分离会话录制中的输出中的输入。这可能更容易允许您将保存到脚本中的命令转换为脚本,因为它们将在没有命令输出的文件中。
$ script-q -i在-o out $ echo hello,world!你好,世界!
这-一世(首都“I”)指定输入的文件和-O(大写“o”)输出文件。检查脚本手册页以查看您提供的哪些选项。
这-q.(或者- 安静的)选项将开始和结束时间保留在标准输出上(通常为您的终端窗口)。
输入文件看起来像这样:
$ Cat在脚本上开始于2021-11-18 16:01:58-05:00 [术语=“xterm”tty =“/ dev / pts / 0”列=“80”行=“24”] Echo Hello,世界!脚本在2021-11-18完成16:02:06-05:00 [command_exit_code =“0”]]
输出文件看起来像这样:
$ Cat Out Script于2021-11-18 16:01:58-05:00 [术语=“xterm”tty =“/ dev / pts / 0”列=“80”行=“24”)$ echo hello, 世界!你好,世界!$退出脚本在2021-11-18完成16:02:06-05:00 [command_exit_code =“0”]]
检查脚本的版本
您可以显示版本脚本你正在这样运行:
$ script -v脚本来自util-linux 2.36.2
获得帮助
您可以阅读手册页脚本命令或询问脚本命令语法和选项的说明,其中包含下面的命令。
$ script -h使用:script [选项] [文件]制作终端会话的打字签名。选项:-i,--log-inlog stdin到文件-o,--log-out log stdout到文件(默认)-b,--log-io log stdin和stdout到文件-t, - -log-timing 对文件-t [ ]的日志时间信息,--timing [= ]弃用别名到-t(默认文件是stderr)-m, --logging-format force to'classic'或'高级'format -a, - append附加到日志文件-c,--command 运行命令而不是交互式shell -e,--return返回EXIT Process -F,--Flush运行刷新在每个写入后运行--Force使用输出文件即使是链接-e,-echo <何时> echo输入(自动,始终或永远)-o,--output-limit 终止如果输出文件超出大小-q,--qiet是安静的-h,--help显示此帮助-v,--version显示版本有关更多详细信息,请参阅脚本(1)。
包起来
这脚本当您想记住,查看或重新运行Linux系统上的命令和输出详细信息时,命令非常方便。虽然这吧历史命令记录您输入的命令,脚本更彻底允许您查看命令输出以及运行的命令。