我运行bash脚本,该命令如何stdout和标准错误重定向到文件
我用的执行创建日志文件中的以下
Command1 >> log_file
Command2 >> log_file
这只能发送标准输出,而不是终端上出现的标准错误。
我可以记录记录到文件的stderr和stdout吗?
我运行bash脚本,该命令如何stdout和标准错误重定向到文件
我用的执行创建日志文件中的以下
Command1 >> log_file
Command2 >> log_file
这只能发送标准输出,而不是终端上出现的标准错误。
我可以记录记录到文件的stderr和stdout吗?
如果你想登录到同一文件:
command1 >> log_file 2>&1
如果您想要不同的文件:
command1 >> log_file 2>> err_file
用途:
command >>log_file 2>>log_file
重定向两个最简单的语法是:
command &> logfile
如果要追加到文件,而不是覆盖:
command &>> logfile
不知道何时添加了此运算符,但它可能不适用于旧版本的Bash。它似乎在我的机器上运行Gnu bash v3.2.48。 –
@CostiCiudatu&>>操作符似乎不适用于Mac OS X;更安全地使用Mat的解决方案。 –
@JamesFennell你说得对,我没有意识到这一点。我upvoted公认的答案:) –
请使用command 2>file
这里2
代表的文件描述符stderr。您还可以使用1
代替2
使标准输出被重定向到“文件”
而只是为了节省其他人感到沮丧,请注意顺序非常重要:'2>&1'需要在'>> log_file'之后发生。 – Rufflewind
为什么是'>>而不是'>'? – user3527975
'>>'追加到文件,'>'覆盖。搜索“shell重定向”了解更多详情。 – Mat