为了账号安全,请及时绑定邮箱和手机立即绑定

如何将所有输出重定向到文件

如何将所有输出重定向到文件

catspeake 2019-09-02 08:04:25
将所有输出重定向到文件我知道在linux中,要将输出从屏幕重定向到文件,可以使用>或tee..但是,我不知道为什么部分输出仍然输出到屏幕,而不是写入文件。是否有将所有输出重定向到文件的方法?
查看完整描述

3 回答

?
白衣染霜花

TA贡献1796条经验 获得超10个赞


那部分是写到stderr的,用2>重定向。例如:

foo > stdout.txt 2> stderr.txt

或者如果您想要在同一个文件中:

foo > allout.txt 2>&1

注意:这在(Ba)sh中有效,检查shell是否有正确的语法。


查看完整回答
反对 回复 2019-09-03
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

所有POSIX操作系统有3条溪流:stdin、stdout和stderr。stdin是输入,可以接受stdout或stderr。stdout是主要输出,它被重定向为>>>,或|..stderr是错误输出,它是分开处理的,这样就不会将任何异常传递给命令或写入可能会中断的文件;通常,这会发送给某种类型的日志,或者直接转储,甚至在重定向stdout时也是如此。若要将两者重定向到同一地点,请使用:

command &> /some/file

请使用:

*command* > file 2>&1

如果要关闭错误,请执行以下操作:

*command* 2> /dev/null




查看完整回答
反对 回复 2019-09-03
  • 3 回答
  • 0 关注
  • 660 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信