我试图解决一个问题,我希望bash脚本调用c
程序,并将c
程序中的值返回到bach脚本并存储在变量。
这是一个例子(代码没有真正写好):
Bash脚本:
$value = ./foo
echo $value
C程序:
int main() {
//Have a value here that is returned to the variable 'value' in the bash script.
return 0;
}
这可能吗?
答案 0 :(得分:1)
将值打印到c程序中的stdout:
printf("%s",value);
或
printf("%s\n",value);
你的bash脚本:
#!/bin/bash
value="$(your_c_program)"
echo "$value"
答案 1 :(得分:1)
您可以使用$?
获取最后执行的程序的返回值,也可以将值打印到stdout然后捕获它。
#include <stdio.h>
int main()
{
printf("my_value");
return 0;
}
然后在bash做
value=$(./my_program)
echo $value
结果将为my_value
答案 2 :(得分:0)
要让脚本回显从C应用程序返回的值,请执行
echo $?
虽然不是C问题