尽管使用了 -y,脚本仍要求确认

尽管使用了 -y,脚本仍要求确认

我正在尝试开发一个脚本来设置软件和一些防火墙规则。该脚本在新的 VPS 上运行,并以 root 用户身份通过​​ SSH 连接。

脚本中有两处似乎忽略了“-y”

第一项:

apt update && apt upgrade -y && apt autoremove -y && apt autoclean -y

导致出现此提示的原因:在软件包升级期间无需询问即可重新启动服务?我只想自动选择“是”。

第二项:

ufw allow 1635/udp
ufw allow ssh
ufw enable

导致出现此提示的原因:命令可能会中断现有的 ssh 连接。是否继续操作?我还想自动选择“是”。

任何帮助都将不胜感激。这 2 项目前阻止了它成为一个完全无人干预的安装过程。

答案1

解决了!

第一项

发现这是apt upgrade导致 GUI 提示的原因。通过将其更新为以下内容解决了此问题:DEBIAN_FRONTEND=noninteractive apt upgrade -y

第二项

已通过更新解决ufw enableyes | ufw enable

答案2


$echo -e "\t Yes" 尝试在末尾添加:因为这应该会遍历到<Yes>您的第一个问题的终端中。
或者
$echo "\t \r"在同一个问题的末尾添加。


对于你的第二个问题,请尝试以下操作:

$ echo "y" | sudo ufw enable

相关内容