echo "yes\yes\oops" | program
对于长期运行的程序不起作用。
我可以考虑将program
的输出重定向到文件,然后使用循环到grep
该文件,直到出现某些输出。但是有更好的主意吗?
答案 0 :(得分:2)
如果您喜欢/坚持使用bash,也许您正在寻找expect?
有关此内容的更多信息:http://wiki.tcl.tk/11583
答案 1 :(得分:1)
用另一种语言编写Python,Perl,Ruby或脚本以与程序进行交互。在Python中,您使用subprocess
。在Perl中,您使用popen()
。逐行读取程序的标准输出并与已知提示进行匹配,通过写入程序的标准输入来回复所需的响应。
你可以在bash中做同样的事情,但我个人不愿意这样做。