【发布时间】:2014-05-25 11:59:27
【问题描述】:
正如标题所说,我有一个字符串,其中包含由输入给出的 bash 命令(例如,command="ls -l"),我需要从 C 程序中执行它。 我知道我可以简单地使用系统(命令),但这是一个学校练习,我不能使用系统,也不能使用 popen。 我考虑过使用 exec*,但它需要解析字符串以分隔命令和各种参数。 是否有系统调用(不是系统)允许我简单地执行带有参数的命令而不必将它们分开? 提前感谢您的回答:)
【问题讨论】:
-
不,重点应该是学习使用fork()。练习要求同时执行 n 个 bash 命令。但是我的教授说 system() 会导致很多安全问题,所以我们应该学会避免它......无论如何,如果我没有找到其他任何东西,我在进行字符串解析时没有问题......我只是想找到一个更“优雅”的解决方案:D