【发布时间】:2009-01-06 12:37:10
【问题描述】:
我有一个 bash 脚本,它运行一个用 Fortran 90 编写的模拟程序,所有输出都被重定向到一个文件。如果程序完成没有问题,我设置一个成功参数。代码如下所示:
#!/bin/bash ... echo -n "正在运行程序..." ./sim_program >& 文件 && 成功="true" 如果 [ $成功 ];然后 回声“确定” 别的 回声“不好” 菲 ...屏幕的输出应该是“正在运行的程序...OK”或“正在运行的程序...不OK”。在某些情况下,仿真程序会因浮点异常或分段错误而崩溃,并发送相应的信号(SIGSEGV / SIGFPE)。输出可能如下所示:
:~>execute_script 运行程序.../path/to/script: line 232: 15350 Floating Point Exception ./sim_program >& file && success="true" 不好如何抑制由于 SIGFPE 或 SIGSEGV 导致的错误输出,以便我得到
:~>execute_script 运行程序...不行即使出现这样的错误?我已经研究过使用陷阱,例如
陷阱 "" SIGSEGV SIGFPE ./sim_program >& 文件 && 成功="true" 陷阱 SIGSEGB SIGFPE但我仍然得到类似的东西
:~>execute_script 运行程序...浮点异常 不好感谢任何帮助!
【问题讨论】:
标签: bash fortran segmentation-fault