运行 bash 脚本时自动确认?

运行 bash 脚本时自动确认?

我正在编写一个简单的 bash 脚本,用于按我想要的方式配置新服务器。这没什么特别的,但希望将来能为我节省大量时间。

我该如何防止出现这样的提示:

  You are about to add the following PPA to your system:
    Stable version of nginx.
    More info: https://launchpad.net/~nginx/+archive/stable
  Press [ENTER] to continue or ctrl-c to cancel adding it

从脚本运行如下命令时:

  sudo add-apt-repository ppa:nginx/stable 
  sudo apt-get update
  sudo apt-get -y install nginx

是否有我可以设置的自动接受标志或类似的东西?

答案1

add-apt-repository有一个-y你可以使用的标志,它应该可以解决问题。

不过,我真心建议你看看像 puppet 或 chef 这样的配置管理系统来配置服务器。它们会为你节省很多时间!

答案2

可能值得注意的是,这就是yes编写的目的。默认情况下,它会重复打印y,但yes <string>只会重复“string”。

如果你收到一堆类似这样的回复:

Press [ENTER] to continue or ctrl-c to cancel adding it

您可以执行以下操作:

yes '' | sudo add-apt-repository ppa:nginx/stable

在每个提示符后自动输入回车符。鉴于 apt-add-repository 有一个-y选项,您应该使用它,但是如果您遇到没有该选项的脚本,您可以使用yes

相关内容