bash-stdoutput和stderror的重定向不会捕获所有输出

bash-stdoutput和stderror的重定向不会捕获所有输出,bash,io-redirection,Bash,Io Redirection,我正在编写一些测试脚本,希望捕获所有错误输出并将其写入错误日志以及所有常规输出,然后将其写入单独的日志。我正在使用表单的命令 cmd>output.file 2>error.file 我正在为其编写测试脚本的命令可能会导致分段错误。当命令segfaults时,bash仍然向终端输出segmentation fault 我不希望这种情况发生,也不希望随着标准错误被重定向 可能吗?这一定是bash所做的,因为两个输出流都被重定向。从shell的角度来看,我不认为segfaults是程序输出的一部分。

我正在编写一些测试脚本,希望捕获所有错误输出并将其写入错误日志以及所有常规输出,然后将其写入单独的日志。我正在使用表单的命令

cmd>output.file 2>error.file

我正在为其编写测试脚本的命令可能会导致分段错误。当命令segfaults时,bash仍然向终端输出segmentation fault

我不希望这种情况发生,也不希望随着标准错误被重定向


可能吗?这一定是bash所做的,因为两个输出流都被重定向。

从shell的角度来看,我不认为segfaults是程序输出的一部分。所以使用

期望获得更可靠的输出


请注意,壳之间的行为是不同的。zsh output将其输出到一个文件中,而常规的“sh”将segmentation fault错误消息放在segfulted进程的stderr中,而bash似乎将其输出到父shell的stderr流中。由于idea的明显不可移植性,请确保您知道使用的是哪个shell。zsh*根本不会将其输出到文件中。天哪,我需要学会打字-P
bash -c 'cmd >output.file 2>error.file' >bash_output.file 2>&1