首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何编写安装程序的"yes“响应脚本?

如何编写安装程序的"yes“响应脚本?
EN

Stack Overflow用户
提问于 2011-10-04 10:21:01
回答 6查看 167K关注 0票数 141

我使用Amazon Linux实例,我有几个脚本来填充数据并安装我使用的所有程序,但有几个程序会问:

代码语言:javascript
复制
Do you want to continue [Y/n]?

并暂停安装。我想在所有情况下自动回答"Y“,我只是现在确定怎么做。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2011-10-04 10:28:24

'yes' command将无限期地回显'y‘(或您要求它执行的任何操作)。将其用作:

代码语言:javascript
复制
yes | command-that-asks-for-input

或者,如果需要大写'Y‘:

代码语言:javascript
复制
yes Y | command-that-asks-for-input

如果你想传递'N‘,你仍然可以使用yes

代码语言:javascript
复制
yes N | command-that-asks-for-input
票数 247
EN

Stack Overflow用户

发布于 2011-10-04 10:25:49

echo y | command应该可以工作。

此外,一些安装程序有一个"auto-yes“标志。这是Ubuntu上apt-get版的-y

票数 78
EN

Stack Overflow用户

发布于 2015-12-09 18:44:42

您可能无法在目标服务器上安装Expect。例如,在编写Jenkins作业时,通常会出现这种情况。

如果是这样的话,我会考虑在askubuntu.com上对以下问题的答案:

https://askubuntu.com/questions/338857/automatically-enter-input-in-command-line

代码语言:javascript
复制
printf 'y\nyes\nno\nmaybe\n' | ./script_that_needs_user_input

请注意,在极少数情况下,该命令不要求用户在字符后按enter键。在这种情况下,省略换行符:

代码语言:javascript
复制
printf 'yyy' | ./script_that_needs_user_input

为了完整起见,您还可以使用此处的文档:

代码语言:javascript
复制
./script_that_needs_user_input << EOF
y
y
y
EOF

或者,如果您的shell支持此处的字符串:

代码语言:javascript
复制
./script <<< "y
y
y
"

或者,您可以创建一个每行只有一个输入的文件:

代码语言:javascript
复制
./script < inputfile

同样,这个答案的所有功劳都归功于the answer on askubuntu.com的作者lesmana。

票数 18
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7642674

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档