我有一个闭源应用程序,它需要在加载后按下"y"键才能开始工作。我需要以这样一种方式自动化这一点,即在"y"字符被接受后,"正常"用户输入被接受。
application < echo "y"
使应用程序无法访问用户输入
我想我需要一个模仿的脚本
echo "y"
然后路由用户输入,即/dev/tty
部分答案可能在这个SO问题中,但我如何将其适应现有的应用程序?
获取user-input-after-stdin-has-been-redirected-in-a-bourne-script
我认为您真正需要的是一个工具,可以让您自动按下y
键,然后进入交互式模式。请看一下expect,以获得这样一个工具的示例。
充实jcollado的建议:
#!/usr/bin/expect -f
spawn application -with -options
expect "prompt where you have to enter y"
send -- "yr" # the "r" represents the user "hitting enter"
interact