我有一个C程序,比如hello_world
。 main函数返回int
。我可以在shell脚本中访问和使用此返回值吗?
这是C代码。我写了一个非常简化的程序版本。实际代码是1.2K行。
/*hello_world.c*/
#include <stdio.h>
#include <stdlib.h>
int main(int argc, char *argv[])
{
int i = 0;
if (argc == 2) {
i = atoi(argv[1]);
printf("Hello World - %d\n", i);
return 0;
}
else return -1;
}
这是运行编译上述代码后生成的可执行文件的bash脚本。我正在使用GCC 4.1.2并使用gcc -o hello_world hello_world.c
#!/bin/bash
ret=hello_world 31 # this gives a `command not found` error
if [ ret -eq 0 ]; then
echo "success"
fi
有什么办法可以从脚本中访问返回的值吗?
答案 0 :(得分:4)
这是一件非常简单的事情
hello_world 31
if [ $? -eq 0 ];
then
echo "success"
fi
但是如果你想捕获程序的输出
output=$(hello_world 31)
或
output=`hello_world 31`