我正在尝试编写一个 bash 脚本来安装一系列软件。我用它--assume-yes
来绕过提示。
以下行不知为何不起作用:
sudo apt-get install python-software-properties --assume-yes
如果我尝试apt-get
不使用--assume-yes
它可以工作但提示要求我:
please [Enter] to continue or ctrl+c to cancel adding it
如何Enter在运行时添加为命令apt-get install
而不是使用--assume-yes
?
答案1
您的问题是选项应该位于包之前,而不是之后,这是正确的语法:
apt-get <options> command package=version/release
因此,为了使其正常工作,它应该是:
sudo apt-get --assume-yes install python-software-properties
apt-get 对混合命令和选项是宽容的,但是为了安全起见,您应该始终在命令之前使用选项,并且永远不要将选项或命令放在包名称之后。
答案2
像下面这样在命令中添加-y
标志apt-get install <package-name>
,安装包时您将不会收到任何提示。
sudo apt-get install -y <package-name>
从apt-get --help
-y Assume Yes to all queries and do not prompt
答案3
另一种安静而有效的方法如下:
sudo DEBIAN_FRONTEND=noninteractive apt-get install -qq python-software-properties < /dev/null > /dev/null