如何在shell脚本执行期间处理用户提示/用户干预

时间:2013-11-13 13:02:50

标签: linux bash shell user-controls

考虑shell脚本,询问用户的输入是否继续[yY / nN]和 另一个脚本调用所有这些脚本 我不想手动给YY输入 注意:用户输入不是脚本的参数,它在脚本执行期间随时发生 考虑3个shell脚本即:a.sh, b.sh, c.sh 执行时,脚本会提示:

"You want to Proceed[Y/y/N/n]?"

现在,Wrapper.sh调用a.sh, b.sh, c.sh并在脚本提示时提供Y / Y或N / n输入。
我无法将论证作为a.sh“Y”传递 [ps:a.sh b.sh c.sh不可执行且不可编辑]
无法在RHEL上安装任何第三方插件,因此只需要使用默认的插件/命令。

2 个答案:

答案 0 :(得分:0)

我自己没有用过这个,但看看'期待'。这正是它的用途。祝你好运!

答案 1 :(得分:0)

您可以尝试expect工具,该工具用于自动将输入提供给交互式程序。尝试从这样的事情开始:

#!/usr/bin/expect

set timeout 10

spawn "PATH_TO/a.sh"
expect "You want to Proceed" 
send "y\r"

interact