![](/img/trans.png)
[英]How to call a C program inside bash script and store its return value to a variable?
[英]Checking the return value of a C program in a bash script?
我有一个bash脚本,我使用$检查上次运行命令的退出代码? 变量,但现在我正在执行一个C程序(从该脚本),如果程序成功执行,它返回0。 有什么方法可以在我的bash脚本中捕获C程序的返回值吗?
我相信不同的命令,如awk,sed等都是用C语言编写的。他们如何使用$? 将退出代码存储在其中? 如何让我的C程序将其退出代码存储在$ ??
我希望我的问题很清楚。
没有必要做任何事情 - 如果你的C程序返回0,那将是什么将存储在$?
执行它的shell的变量。
bash捕获$?
的退出代码$?
自动的。 或者, if
您只关心零/非零, if
可以使用该命令。
C程序的返回码是int main()
函数返回的值或者exit()
函数的参数。 然后,系统通过wait()
系统调用使其可用于其父进程。 当父进程是bash
,这个值可以通过$?
变量。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.