apt-get
当他们无法解析存储库时,会apt
退出0
而不是错误代码。在这种情况下(以及通常对于警告),我希望得到一个非零值。
例如
# apt-get update
Err:1 https://mirror.csclub.uwaterloo.ca/ubuntu focal InRelease
Temporary failure resolving 'mirror.csclub.uwaterloo.ca'
Reading package lists... Done
W: Failed to fetch https://mirror.csclub.uwaterloo.ca/ubuntu/dists/focal/InRelease Temporary failure resolving 'mirror.csclub.uwaterloo.ca'
W: Some index files failed to download. They have been ignored, or old ones used instead.
请注意,输出包含Err:
和,W:
因此我预计这是一个具有非零退出代码的错误,但似乎它只是被视为警告,因为退出代码是0
……?无论哪种方式,我都想知道如何获取上述示例和一般警告的错误代码而不是零。是的,我可以 grepW:
或,Err:
但如果可能的话,我想要错误代码。
答案1
您可以尝试 apt“替换”:那拉
安装说明:https://gitlab.com/volian/nala/-/wikis/Installation
当出现问题时,Nala 具有非零的退出代码,还会在更新输出结束时用不同的颜色写入有问题的部分并重复错误部分......
运行更新与使用 apt 相同,但 nala 具有结构化输出:
sudo nala update
或者如果你不想要结构化输出:
sudo nala update --raw-dpkg