新闻动态

如何使用tee和script命令捕获输出和文件错误

发布日期:2021-08-16 11:29 | 文章来源:CSDN

  【YINGSOO提示】文章部分内容源于互联网收集整理,不代表YINGSOO观点!若有咨询“如何使用tee和script命令捕获输出和文件错误”等有关服务器、云主机租用、托管、配置、价格问题,请立即咨询YINGSOO客服,为您答疑解惑!

  【主机测试】日本CN2服务器 | 韩国高防服务器 | 韩国站群服务器

  【原创内容】如何选择优质的英国服务器?这几个方面得仔细考察

如何使用tee和script命令捕获输出和文件错误

  当您编写了一个脚本来处理Linux服务器上的一个重要任务时,如果您需要该脚本的输出日志,以便记录所发生的事情,或者对运行过程中可能没有发生的事情进行故障排除,会发生什么情况?如果脚本使用特定的服务,您总是可以查看这些特定的日志文件,但这有点麻烦。如果脚本失败,这些服务日志可能没有任何帮助。

  您可以使用tee或script命令。tee命令从标准输出读取数据,并将数据写入标准输出或文件,而script命令生成终端会话的typescript并可以将数据输出到文件中。对于任何经常使用bash脚本的人来说,这些命令应该被认为是必备的工具。当脚本输出大量信息时尤其如此。

  我想向您介绍tee和脚本命令,以便您能够更有效地排除故障并记录bash脚本。

  您需要使用tee或script的惟一工具是Linux服务器。缺省情况下应该安装tee和script,因此不需要安装单个包。

  一、如何使用tee命令

  让我们编写始终令人愉快的“ Hello World” bash脚本。该脚本将仅包含以下内容:

  #!/bin/bash

  echo Hello World

  将该文件命名为test,并使用以下命令为其赋予可执行权限:

  chmod u+x test

  如果使用命令./test执行该脚本,则应该看到与图A所示类似的输出 。

  您可能会问自己一个问题,“为什么不直接将脚本的输出发送到文件?” 您可以使用以下命令执行此操作:

  ./test> test.log

  由于所有内容都已转储到文件test.log中,您将看不到任何输出返回到终端。要实时查看输出并拥有输出的日志文件,可以使用tee命令,如下所示:

  ./test | tee test.log

  您不仅会看到Hello World打印到标准输出(图B的终端),还将有包含相同输出的test.log文件。

  二、如何使用script命令

  下一个工具称为script。使用script,您将获得一个交互式会话,所有这些会话均被打印到标准输出并写入文件。要在我们的Hello World示例中使用脚本,命令应为:

  script -c ./test test.log

  该-c选项告诉script我们正在运行的命令。script命令的输出如图C所示。

  使用tee和script命令输出到文件的区别在于脚本输出将为您提供更多信息,例如退出代码(图D)。

  当您拥有更复杂的bash脚本时,您将看到该命令的更多输出。例如,假设您编写了一个bash脚本,要求输入文件名,并且该文件将被删除。该bash脚本可能如下所示:

  #!/bin/bash

  echo "Enter filename to remove"

  read fn

  rm -i $fn

  使用脚本命令运行该文件时:

  script -c ./test test.log

  系统将要求您删除文件名(图E)。删除文件后,您可以查看test.log文件以查看整个会话。

  当您有一个非常复杂的bash脚本时,您将看到更多(有用)的输出写入日志文件。

  热门产品:美国服务器租用去首页参与活动!YINGSOO推出Phala挖矿服务器Chia奇亚农场服务器Swarm物理节点服务器Swarm母鸡服务器Swarm云节点服务器国内矿机服务器海外托管《Phala PHA挖矿资料大全》,《swarm bzz挖矿资料大全》,Swarm Bee节点租用请咨询YINGSOO客服!官网WWW.YINGSOO.com

版权声明:本站文章来源标注为YINGSOO的内容版权均为本站所有,欢迎引用、转载,请保持原文完整并注明来源及原文链接。禁止复制或仿造本网站,禁止在非www.yingsoo.com所属的服务器上建立镜像,否则将依法追究法律责任。本站部分内容来源于网友推荐、互联网收集整理而来,仅供学习参考,不代表本站立场,如有内容涉嫌侵权,请联系alex-e#qq.com处理。

相关文章

实时开通

自选配置、实时开通

免备案

全球线路精选!

全天候客户服务

7x24全年不间断在线

专属顾问服务

1对1客户咨询顾问

在线
客服

在线客服:7*24小时在线

客服
热线

400-630-3752
7*24小时客服服务热线

关注
微信

关注官方微信
顶部