![如何绕过“你想继续吗?”在脚本中使用 apt 时的部分](https://linux22.com/image/186105/%E5%A6%82%E4%BD%95%E7%BB%95%E8%BF%87%E2%80%9C%E4%BD%A0%E6%83%B3%E7%BB%A7%E7%BB%AD%E5%90%97%EF%BC%9F%E2%80%9D%E5%9C%A8%E8%84%9A%E6%9C%AC%E4%B8%AD%E4%BD%BF%E7%94%A8%20apt%20%E6%97%B6%E7%9A%84%E9%83%A8%E5%88%86.png)
大家好?我对 Linux bash 文件相当陌生。总体而言,与 fedora 和 RedHat 相比,我使用 Debian 发行版的体验很好。
我正在编写一个bash
命令来更新我的 Linux 终端。我使用的是 Peppermint 10,Ubuntu Linux 的一个非品牌。我让代码工作了;但是,我想绕过
Do you want to continue? [Y/n]
这是我的代码:
#!/bin/bash
echo
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
/bin/echo -e "\e[1;33m ! Installing Updates, Upgrades, and Dist-Upgrades Packages...Proceeding... !\e[0m"
/bin/echo -e "\e[1;33m !---------------------------------------------!\e[0m"
echo
#installing updates, upgrades, and dist-upgrade
sudo apt update && sudo apt upgrade && sudo apt dist-upgrade -Y
我尝试过echo Y
,,-y
和-Y
,有什么建议吗?
答案1
您可以使用sudo apt-get -y upgrade
来避免是/否问题,但避免所有问题有点棘手,因为有时dpkg
会要求配置文件更新/覆盖等。
要使用apt
完全非交互式,您需要这些apt
/dpkg
选项:
DEBIAN_FRONTEND=noninteractive apt-get -y -o "Dpkg::Options::=--force-confdef" -o "Dpkg::Options::=--force-confold" upgrade
答案2
其他绕过apt
问题的方法:
yes |bash script.sh
或者:
sudo apt update
yes |sudo apt update
yes |sudo apt upgrade