Bash 检查标准输出或标准输出

Bash 检查标准输出或标准输出,bash,shell,segmentation-fault,stdout,stderr,Bash,Shell,Segmentation Fault,Stdout,Stderr,我在shell脚本中使用的一个二进制文件导致了分段错误(返回值:139) 即使我将stdout和stderr重定向到一个日志文件,当我运行shell脚本时,分段错误消息也会显示在终端中 是否可以将此消息从SEGFULT重定向到日志文件??尝试 ./program &> logfile 有很多关于I/O重定向的示例,请看一看 您也可以查看这一点您看到的分段错误消息是由运行程序的shell打印的。这种行为因shell而异,因此您可以尝试一些事情(如果您坚持从shell重定向将分段错误

我在shell脚本中使用的一个二进制文件导致了分段错误(返回值:139)

即使我将stdout和stderr重定向到一个日志文件,当我运行shell脚本时,分段错误消息也会显示在终端中

是否可以将此消息从SEGFULT重定向到日志文件??

尝试

./program &> logfile
有很多关于I/O重定向的示例,请看一看


您也可以查看这一点

您看到的分段错误消息是由运行程序的shell打印的。这种行为因shell而异,因此您可以尝试一些事情(如果您坚持从shell重定向将分段错误消息获取到日志中)


嗯,我在回答我自己的问题:) 我在这里找到了答案

诀窍在于增加

`exec 2> filename`  
在shell脚本中


这会将所有消息从shell重定向到日志文件

好吧,它不起作用,下面是我的代码,这是导致问题的原因:“$DECODER”-如果$input\u file-of$output\u file>>$log\u file 2>&1这是导致Segfault时的输出:./decode.sh:第292行:15475分段错误“$DECODER”$if input。。我正在研究一种类似的方法。。但是在一个shell脚本中,您可以看到一个讨论:我在这里找到了解决方案:诀窍是添加exec 2>再次感谢krianSimple和优雅+1.
`exec 2> filename`