ret*_*phy 4 macos bash posix stderr segmentation-fault
我使用的程序运行正常,并在其操作结束时产生理想的输出,没有内存泄漏或任何其他特定问题,但随后它在退出时发出分段错误。在使用此程序时,我一直试图通过将标准错误重定向到 Null 来向最终用户隐藏这个无害但令人讨厌的错误:
program options >file 2>/dev/null
Run Code Online (Sandbox Code Playgroud)
但这不起作用,每次我运行程序时,错误都会出现在脚本输出的中间。这里到底发生了什么,我该如何隐藏不需要的错误?我在优胜美地。
来自坏主意部门:
program options >file 2>/dev/null | cat
Run Code Online (Sandbox Code Playgroud)
bash 似乎不会抱怨程序中的分段错误,这些程序的输出是通过管道传输到其他地方的。因此,只需将您的输出通过管道传输到任何地方即可。cat是一个不错的选择,因为它只是回显发送的文本。或者通过管道连接到 null 命令,:这样您就可以在脚本中放置一个表情符号:
program options >file 2>/dev/null |:
Run Code Online (Sandbox Code Playgroud)
很明显,这会隐藏其他更严重的问题,因此您应该尽可能修复分段错误。