我需要检查已安装的软件包,如果未安装,请安装它们。对于RHEL,CentOS的,Fedora的检查已安装的软件包,如果未找到安装
例子:
rpm -qa | grep glibc-static
glibc-static-2.12-1.80.el6_3.5.i686
我该怎么做在BASH支票?
我会做类似的事吗?
if [ "$(rpm -qa | grep glibc-static)" != "" ] ; then
我需要为其他发行版使用什么? apt-get的?
我需要检查已安装的软件包,如果未安装,请安装它们。对于RHEL,CentOS的,Fedora的检查已安装的软件包,如果未找到安装
例子:
rpm -qa | grep glibc-static
glibc-static-2.12-1.80.el6_3.5.i686
我该怎么做在BASH支票?
我会做类似的事吗?
if [ "$(rpm -qa | grep glibc-static)" != "" ] ; then
我需要为其他发行版使用什么? apt-get的?
尝试以下代码:
if ! rpm -qa | grep -qw glibc-static; then
yum install glibc-static
fi
或更短:
rpm -qa | grep -qw glibc-static || yum install glibc-static
对于Debian喜欢:
dpkg -l | grep -qw package || apt-get install package
对于的archlinux:
pacman -Qq | grep -qw package || pasman -S package
基于@GillesQuenot和@Kidbulra答案,这里是一个例子如何遍历多个包,并安装如果它丢失:
packageList="git gcc python-devel"
for packageName in $packageList; do
rpm --quiet --query $packageName || sudo yum install -y $packageName
done
为什么不干脆让他们通过你的包必需的,并且包经理处理这一切? –
这只是一个简单的bash安装脚本来自动化一些事情。 :) –