我正在编写一个使用 apt-get install 安装各种软件包的 bash 脚本。但是,我注意到如果有一行内容:
sudo apt-get install package1 package2 package3
如果其中一个软件包未找到,则其他软件包均不会安装。如何让它在找不到其中一个软件包的情况下继续运行?
提前致谢。
答案1
我建议一个apt-get
选择
sudo apt-get --ignore-missing install $list_of_packages
但请注意,缺少的依赖关系不容忽视,即使您使用了,也--force
可能会得到一个损坏的系统。
答案2
for i in package1 package2 package3; do
sudo apt-get install $i
done
答案3
答案4
将每个包作为单独的命令而不是单个命令进行安装,这样如果由于未找到或其他错误而导致安装失败,则不会阻止其他包的安装。为此,您可以使用如下所示的“for”循环。此外,-y
如果安装大量包,请记住使用该标志,以避免yes
为每个包输入繁琐的内容。
INSTALL_PKGS="pk1 pk2 pk3 pk4 pk5 ... and so ... on ..pk_gogol"
for i in $INSTALL_PKGS; do
sudo apt-get install -y $i
done