我使用Amazon Linux实例,我有几个脚本来填充数据并安装我使用的所有程序,但有几个程序会问:
Do you want to continue [Y/n]?
并暂停安装。我想在所有情况下自动回答"Y“,我只是现在确定怎么做。
发布于 2011-10-04 10:28:24
'yes' command将无限期地回显'y‘(或您要求它执行的任何操作)。将其用作:
yes | command-that-asks-for-input
或者,如果需要大写'Y‘:
yes Y | command-that-asks-for-input
如果你想传递'N‘,你仍然可以使用yes
yes N | command-that-asks-for-input
发布于 2011-10-04 10:25:49
echo y | command
应该可以工作。
此外,一些安装程序有一个"auto-yes“标志。这是Ubuntu上apt-get
版的-y
。
发布于 2015-12-09 18:44:42
您可能无法在目标服务器上安装Expect。例如,在编写Jenkins作业时,通常会出现这种情况。
如果是这样的话,我会考虑在askubuntu.com上对以下问题的答案:
https://askubuntu.com/questions/338857/automatically-enter-input-in-command-line
printf 'y\nyes\nno\nmaybe\n' | ./script_that_needs_user_input
请注意,在极少数情况下,该命令不要求用户在字符后按enter键。在这种情况下,省略换行符:
printf 'yyy' | ./script_that_needs_user_input
为了完整起见,您还可以使用此处的文档:
./script_that_needs_user_input << EOF
y
y
y
EOF
或者,如果您的shell支持此处的字符串:
./script <<< "y
y
y
"
或者,您可以创建一个每行只有一个输入的文件:
./script < inputfile
同样,这个答案的所有功劳都归功于the answer on askubuntu.com的作者lesmana。
https://stackoverflow.com/questions/7642674
复制相似问题