假设我想编写一个只执行一个命令的 shell 脚本。但这个命令设计得很糟糕。它不提供任何命令行选项;相反,它会询问一些问题并等待用户输入。
有没有办法在脚本中准备这些输入,以便自动回答问题?
答案1
如果命令不是很挑剔,它应该使用如下所示的命令:
command > /dev/null << EOF
<answer 1>
<answer 2>
<answer 3>
EOF
这需要您事先知道确切的答案。
答案2
答案3
如果您的脚本需要回答一个提示,或者您可以在多个提示中给出相同的答案,则yes
:
NAME
yes - output a string repeatedly until killed
SYNOPSIS
yes [STRING]...
yes OPTION
DESCRIPTION
Repeatedly output a line with all specified STRING(s), or `y'.
像这样使用它:
yes Me | give_a_hug.sh