标准错误输出默认显示在终端,可通过重定向保存。1. 使用2>将stderr写入文件,如command 2> error.log;2. 分别保存stdout和stderr,用> output.log 2> error.log;3. 合并输出用> all.log 2>&1或&> all.log;4. 丢弃错误信息用2> /dev/null。注意顺序与文件描述符使用。

在Linux中,标准错误输出(stderr)默认显示在终端上。如果想把它保存到文件或与其他输出合并,就需要使用错误输出重定向。掌握这些方法能帮助你更好地管理程序运行时的错误信息。
1. 单独重定向错误输出
使用 2> 可以将标准错误输出重定向到指定文件,而不会影响正常输出(stdout)。
command 2> error.log —— 错误信息写入 error.log,正常输出仍显示在屏幕 ls /wrong/path 2> error.log —— 执行出错时,错误提示被记录到文件
2. 正确输出和错误输出分别保存
如果你想把标准输出和标准错误分开保存,可以同时使用 > 和 2>。
command > output.log 2> error.log —— 正常结果进 output.log,错误进 error.log grep "text" *.txt > found.txt 2> notfound.log —— 匹配内容保存,找不到文件的报错另存
3. 合并标准输出和错误输出
使用 &> 或 2>&1 可以把 stdout 和 stderr 一起重定向。
command > all.log 2>&1 —— 先重定向 stdout 到 all.log,再把 stderr 跟过去 command &> all.log —— 更简洁的写法(在bash中有效),所有输出都写入文件
注意:顺序很重要,> file 2>&1 是正确的,反过来会失效。
4. 丢弃错误信息
如果你不关心错误提示,可以把它们重定向到 /dev/null,相当于“黑洞”。
command 2> /dev/null —— 屏蔽所有错误信息 command > output.log 2> /dev/null —— 只保留正确结果
基本上就这些常用方式。根据需要选择分开处理还是合并输出,关键是记住文件描述符:1代表stdout,2代表stderr。操作不复杂但容易忽略细节,比如重定向顺序。
以上就是LINUX怎么将标准错误输出重定向_LINUX错误输出重定向方法的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/632373.html
微信扫一扫
支付宝扫一扫