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

问题描述 投票:0回答:2

考虑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上安装任何第三方插件,因此只需要使用默认的插件/命令。

linux bash shell user-controls
2个回答
0
投票

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


0
投票

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

#!/usr/bin/expect

set timeout 10

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

interact
© www.soinside.com 2019 - 2024. All rights reserved.