是否可以使用C程序写入运行壳(bash)的stdin?实际上,我想在不使用exec*()
系统调用之一的情况下使用bash
执行命令。
/bin/echo
通常是一个C程序。
/bin/echo ls | sh
voilà!C程序刚刚写入运行外壳的标准输入,并执行了命令。这显然是可能的。
man popen
现在是您的朋友。(更多的是超出超级用户的范围,对system()
等其他事物的讨论也是如此。)