【问题标题】:Returning multiple values from shell script to c program从shell脚本返回多个值到c程序
【发布时间】:2013-08-22 07:19:51
【问题描述】:

我正在从一个 c 程序调用一个 shell 脚本。我希望这个脚本返回多个我想存储在我的 c 程序结构中的值。例如说'ac'调用'a.sh',我希望'a.sh'返回要存储在变量'x'和'y'中的值,它们是'a.c'中结构's'的一部分'。

【问题讨论】:

  • 你试过什么?
  • 我不知道该怎么做!
  • 阅读this answer 已经就这些主题进行了很好的讨论。

标签: c shell struct return-value


【解决方案1】:

不是最优雅的解决方案(但非常快速且易于实现),但您始终可以从 shell 脚本生成一个输出文件,然后从 C 程序中解析该文件。这样做的好处是您可以在 C 程序的执行之间存储 shell 脚本的输出值,如果这些输出值不是每次都改变,这很有用。

【讨论】:

    【解决方案2】:

    除了进程具有的退出状态的单个整数(通常限制为 8 位)之外,您不能从 shell 脚本“返回”值(假设现在是类 Unix 系统)。

    您通常做的是解释外部程序的标准输出,您可以通过使用popen() 运行shell 脚本轻松地将其读入您的C 程序。

    您可以使用这种方法传输任意数量的数据。

    【讨论】:

      猜你喜欢
      • 2013-07-16
      • 2016-03-14
      • 1970-01-01
      • 2020-12-12
      • 1970-01-01
      • 2011-08-29
      • 2014-05-25
      • 2011-02-17
      • 1970-01-01
      相关资源
      最近更新 更多