我如何 return 从 c 程序到调用它的后台脚本的值?
How can I return a value from a c program to the back script that calls it?
我正在尝试解决一个问题,我希望 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;
}
这可能吗?
在您的 C 程序中将值打印到标准输出:
printf("%s",value);
或
printf("%s\n",value);
您的 bash 脚本:
#!/bin/bash
value="$(your_c_program)"
echo "$value"
您可以使用 $?
获取您上次执行的程序的 return 值,或者您可以将该值打印到标准输出然后捕获它。
#include <stdio.h>
int main()
{
printf("my_value");
return 0;
}
然后在bash中做
value=$(./my_program)
echo $value
结果将是 my_value
要让您的脚本回显从您的 C 应用程序返回的值,请执行
echo $?
虽然不是 C 题
我正在尝试解决一个问题,我希望 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;
}
这可能吗?
在您的 C 程序中将值打印到标准输出:
printf("%s",value);
或
printf("%s\n",value);
您的 bash 脚本:
#!/bin/bash
value="$(your_c_program)"
echo "$value"
您可以使用 $?
获取您上次执行的程序的 return 值,或者您可以将该值打印到标准输出然后捕获它。
#include <stdio.h>
int main()
{
printf("my_value");
return 0;
}
然后在bash中做
value=$(./my_program)
echo $value
结果将是 my_value
要让您的脚本回显从您的 C 应用程序返回的值,请执行
echo $?
虽然不是 C 题