15

我正在编写一个 Linux Shell 脚本来自动化我在 Ubuntu 11.04 上所做的一些事情。

基本上,我正在编写一个 shell 脚本来安装 NGINX、MySQL 和 PHP,然后配置所有内容。我知道如何通过命令行来做所有事情。

但是,我不知道如何处理流程要求用户输入的部分。例如,我使用 apt-get 安装的某些东西会要求您确认,即 (Y)es 或 (N)o。

我将如何处理 shell 脚本中的自动确认,即在被问到时自动确认是或否?

4

4 回答 4

19

yes | ./script将回答 y一切。

否则,请编写一个脚本来打印您想要的答案,例如:

 echo N
 echo Y
 echo Y
于 2011-09-14T09:57:38.823 回答
3

通常,您可以调用此类交互式程序,并选择自动对所有问题回答“是”。例如,您可以apt-get使用调用-y。从手册页:

-y, --yes, --assume-yes 提示自动是;假设“是”作为对所有提示的回答并以非交互方式运行。

于 2011-09-14T09:56:40.743 回答
2

对于 Apt,正确的答案是debconf使用正确的参数“预置”您的数据库。如果 Debconf 从其数据库中找到答案,它不会询问。另见http://www.debian-administration.org/articles/394

于 2011-09-14T09:47:46.473 回答
1

尝试期望它可能是您正在寻找的东西。

于 2011-09-14T10:45:36.120 回答