当我使用 apt-get 时,通常当我通过登录时,ssh
我会收到一条声明:
X upgraded, Y newly installed, Z to remove and A not upgraded.
(显然 X、Y、Z、A 都被替换为相关数字)。
有地方或文件保存这些吗? shell 似乎知道我何时登录,我搜索了 motd 文件但无济于事。
我可以访问系统上的什么内容来确定机器是否有等待更新?
请求的背景:我想用它作为一个练习来修改我的电力线外壳我不想做费力的事情,因为提示需要保持快速移动。如果可以找到这些变量,那么>0
我就可以开始了。
答案1
我不知道哪个文件保存了这些信息,但这可能会让你感兴趣:
sudo apt-get dist-upgrade -s | grep "not\ upgraded"
这将打印:
1 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
您可以使用以下命令继续获得您想要的内容cut
:
sudo apt-get dist-upgrade -s | grep "not\ upgraded" | cut -c 1-1"
这将只返回1
,即该序列中的第一个字符。如果不等于 0,则表示您已更新!就这么简单,您可以继续扩展,将以下内容放入 /usr/bin 中的脚本中:
#!/bin/bash
NUMUPG=`sudo apt-get dist-upgrade -s | grep "not\ upgraded" | cut -c 1-1`
if [[ "$NUMUPG" == "0" ]]
then echo "SYSTEM UP-TO-DATE"
else echo "SYSTEM OUT-OF-DATE"
fi
exit 0
如果您创建了脚本,请确保chmod +x [FILENAME]
在尝试运行它之前执行此操作。
希望有帮助!如果有帮助,请 +1!