我已将其添加到 .bashrc
alias a='ap update && ap dist-upgrade -y && do-release-upgrade -d && ap check && ap autoremove -y && ap autoclean'
所以我只需输入即可运行长命令a
但是命令停止了do-release-upgrade -d
,当我将其从别名中删除并a
再次运行时,命令仍然有效。
alias ap='apt-get'
答案1
从哪儿开始?
ap
不是命令。你想要apt-get
..如果ap
是别名 —叹— 看看我的最后一点。您知道它的
do-release-upgrade -d
作用是什么吗?它是用于将 Ubuntu 升级到新版本(在本例中为开发版本)的工具。它每 6 个月只能工作一次,并且会让您陷入 Ubuntu 开发这个肮脏、生疏、滴水、前沿的境地。切勿在您可能需要的计算机上使用它(尤其是不要经常使用它)。对你的问题的直接回答:
do-release-upgrade -d
如果没有要升级的内容,则会退出代码 1。如上所述,它每年只会触发代码 0(成功)两次。&&
仅当上一个命令退出代码 0 时才会继续,因此您可以:;
继续做任何事,或者更有可能的是,||
与之相反&&
,失败时运行。
不仅如此,
do-release-upgrade
当有需要升级的东西时,它也是交互式的。该
-y
标志是危险的可以——不,将要— 至少毁掉你的一天一次。这在开发版本上更是如此(看起来你正在努力坚持)。你应该想尽一切机会避免 Apt 意外删除所有软件包。为什么要使用别名?您已将一百条命令放在一行中,为什么不直接编写一个脚本并将其命名为别名
a
并粘贴进去~/bin/
(如果不存在则创建它,然后运行source ~/.profile
以更新您的 $PATH)。你为什么要这样做?如果你想要自动更新,为什么不直接使用众多现有工具之一这对你有用吗?Shazaam,现在您不需要脚本了。
最后,如果你真的所以如果您厌倦了输入命令,而这些命令又要为整个字母表设置别名,那么也许是时候学习在输入时用左小指按下 Tab 键了。它会尽可能地自动完成(并且在许多命令中也能使用;试试看
apt-get
)。
答案2
当你进行发布升级时,可能会出现许多问题:计算机突然停止、互联网访问停止……然后可能会出现升级不完整或依赖关系出现问题。
如果您遇到依赖性错误,请尝试以下命令:
sudo dpkg --configure -a
进而 :
sudo apt-get install -f
如果您的升级中断或出现重大问题,您可以尝试此命令:
sudo dpkg-reconfigure -phigh -a
这将重新安装并重新配置发布升级所需的每个软件包。请注意,这个过程可能很长,最多 1 小时。