我从C ++调用bash脚本,首先执行vfork()
,然后调用execv(SHELLPATH, SHELLSCRIPT)
。然后,我从bash脚本调用awk脚本来处理命令的输出,使用:
cat textfile | ./parseInfo.awk
我注意到bash脚本运行正常,但是当它到达awk脚本时,它只是挂起并具有命令行响应:"awk: bozo: wait_for"
。我无法在谷歌上找到这个回应可能意味着什么的参考。
在从awk脚本执行一些打印后,我注意到当我执行system()调用时,这就是导致脚本等待的原因(然后我需要按下enter键才能返回命令 - 线提示)。所以我正在做的是:
dirNotExistCheck = "[ -d " DIR "]"
if(system(dirExistCheck) == 1)
{
}
有没有办法在不需要用户进行某种交互的情况下调用sysem()?
答案 0 :(得分:0)
如果正在等待按键被点击,您可以像echo | <your command here>
我们只是让你的命令从另一个地方读取它的输入。希望这会有所帮助...