退出代码从Fortran到Linux

时间:2013-11-12 17:03:22

标签: linux fortran environment-variables exit-code

我需要定义用Fortran 90编写的程序的退出代码,但我在路上感到困惑。

我读取并创建了NetCDF文件,因此NetCDF库提供了一些错误代码。为了将退出代码传递给Linux环境变量,我在代码中使用了exit(status),无论程序在哪里终止。

但是出了点问题,或者我至少不理解它。如果我从NetCDF收到错误代码,例如-49(找不到变量),则程序结束,使用echo $?时检索到的值为207。为什么呢?

如果我使用status=-1设置了一些特定的退出,则$?值为255

我已经阅读了那些取决于shell的linux退出代码,其中一些是保留的,有一些叫做系统错误。

1 个答案:

答案 0 :(得分:1)

Unix退出代码是无符号的。如果您返回否定值,则会隐式转换。

256-49 = 207,但这可能与平台有关。