我从c程序调用shell脚本。我希望这个脚本返回多个值,我想存储在我的c程序结构中。比如说'ac'调用'a.sh',我想'a.sh'返回要存储在变量'x'和'y'中的值,它们是'a.c'中struct's'的一部分。 ”。
答案 0 :(得分:2)
除了进程具有的退出状态的单个整数(通常限制为8位)之外,您不能从shell脚本“返回”值(假设现在是类Unix系统)。
您通常所做的是解释外部程序的标准输出,您可以使用popen()
轻松读入C程序以运行shell脚本。
您可以使用此方法传输任意数量的数据。
答案 1 :(得分:1)
不是最优雅的解决方案(但非常快速且易于实现),但您始终可以从shell脚本生成输出文件,然后从C程序解析该文件。这样做的好处是,您可以在C程序的执行之间存储shell脚本的输出值,如果这些输出值不是每次都改变,则非常有用。