gpt4 book ai didi

bash - 在shell脚本中获取进程的返回值

转载 作者:行者123 更新时间:2023-12-04 16:17:18 25 4
gpt4 key购买 nike

我有一个 C 程序,比如 hello_world。主函数返回一个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

有什么方法可以访问脚本的返回值吗?

最佳答案

做起来很简单

hello_world 31
if [ $? -eq 0 ];
then
echo "success"
fi

但是如果你想捕获程序的输出

output=$(hello_world 31)

output=`hello_world 31`

关于bash - 在shell脚本中获取进程的返回值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38533190/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com