在我的shell程序中获取C程序的返回码

前端之家收集整理的这篇文章主要介绍了在我的shell程序中获取C程序的返回码前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
假设我有一个名为Foo.c的C程序,它正在打印几个东西,并返回一个名为rc的值,我正在我的shell程序中执行如下:

foob​​ar = $(Foo | tail -1)

现在,变量foobar具有程序Foo的最后打印值.但是不用打扰这个,我想在我的shell程序中得到程序的返回码rc.

您可以使用“set -o pipefail”选项.
[root@myserver Test]# set -o pipefail
[root@myserver Test]# ./a.out | tail -l
[root@myserver Test]# echo $?
100

这里我的程序a.out返回100.

或者另一个选择是使用pipestatus环境变量.你可以在这里阅读.
http://www.linuxnix.com/2011/03/pipestatus-internal-variable.html

猜你在找的Bash相关文章