检查已安装应用程序的脚本

检查已安装应用程序的脚本

我正在尝试为 ubuntu 10.0.4 编写一个脚本来检查我的系统上的应用程序。我希望该脚本查看特定命名的应用程序是否已安装,如果已安装,则查看是否需要更新。我还希望脚本在未安装应用程序时自动安装该应用程序,或者在已安装应用程序时更新该应用程序。就像我需要安装 WINE 或 GIMP 一样。我不确定如何构造命令,但我知道我将使用 apt-get 或 yum 来查找应用程序。

答案1

你可以将这两个部分组合起来:

dpkg-query -W -f '${status} ${package} ${version}\n' |
sed -n 's/^install ok installed //p'

这将显示所有已安装软件包的名称,包括其版本。如果您不需要版本号,请省略 ${version} 部分。

然后,运行 apt-get update 来获取更新的软件包列表,并且:

/usr/lib/update-notifier/apt-check  -p

这将告诉您有可用更新的软件包的名称。

一个想法是(不要逐字理解,我只是提供一个想法):

#!/bin/bash

$first_command > installed_packages
$second_command > packages_with_updates

if (grep $YOUR_PACKAGE installed_packages); then
   echo "Package is installed"
   if (grep $YOUR_PACKAGE packages_with_updates); then
      sudo apt-get -q -q update #apt-get runs in quiet mode to avoid lots of output
      echo "Update available for package"
      #Whatever you need to update the package here
   fi
else
   echo "Package not installed, installing..."
   #whatever you need to do to install here
fi

相关内容