安装软件包后 apt-get 退出 bash 脚本

azu*_*r88 1 command-line apt bash scripts

我已阅读这篇文章中的答案,但它似乎对我的问题不起作用。

我正在通过 wget 的 stdin 执行 bash 脚本:

wget -O - http://serverip/subfolder/script | sudo bash
Run Code Online (Sandbox Code Playgroud)

我尝试过使用apt-get -y --force-yes install <packages..> || true,但如果列出的脚本是由 apt-get 安装的,它仍然会退出脚本。

如果已安装所有列出的软件包,它不会退出脚本。

apt-get upgrade如果我有一个并且它安装了软件包,也会发生同样的事情。它将退出脚本。

我有另一组脚本,似乎有效。在这种情况下,安装脚本只是一个存根,用于下载、运行脚本bash <scriptname>,然后删除脚本。脚本本身将通过 sudo 来提升其权限。 apt-get在这里按预期工作。

任何有关如何防止apt-get终止脚本的见解将不胜感激。

mur*_*uru 6

我希望人们停止这样做:wget | bash。这很愚蠢,并且会产生像这里这样的意想不到的效果。您有 bash,因此请利用它的功能。特别是,过程替换:

bash <(wget -O - http://serverip/subfolder/script)
Run Code Online (Sandbox Code Playgroud)