2

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

我阅读并创建了 NetCDF 文件,因此一些错误代码由 NetCDF 库提供。为了将退出代码传递给 Linux 环境变量,我在代码中使用exit(status)了程序终止的任何位置。

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

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

我已经阅读了那些依赖于 shell 的 linux 退出代码,其中一些是保留的,还有一些称为系统错误。

4

1 回答 1

1

Unix 退出代码是无符号的。如果您返回负数,它将被隐式转换。

256-49=207 但这可能取决于平台。

于 2013-11-12T17:06:01.493 回答