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
终止脚本的见解将不胜感激。
我希望人们停止这样做:wget | bash
。这很愚蠢,并且会产生像这里这样的意想不到的效果。您有 bash,因此请利用它的功能。特别是,过程替换:
bash <(wget -O - http://serverip/subfolder/script)
Run Code Online (Sandbox Code Playgroud)