我需要在我的batch.sh脚本中运行几个命令(例如wget)
当我使用
./batch.sh | tee logs.log
只有我的脚本输出写入logs.log中,但日志中缺少wget输出。
如何获取所有输出(我的脚本+我在脚本中调用的脚本的输出)?
答案1
据推测,您感兴趣的输出被打印到标准错误,而不是标准输出。像这样改变你的命令:
./batch.sh 2>&1 | tee logs.log
这将导致脚本的标准流和错误流都通过管道传输到tee
.
为了进行更细粒度的控制,您可以2>&1
对脚本中的各个命令进行处理。
以更特定于 Wget 的方式,此选项存在,并且允许将 Wget 的消息记录到单独的文件中,例如:
-o logfile
--output-file=logfile
Log all messages to logfile. The messages are normally reported to
standard error.