大家好?我对 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