检查RPM包是否已经安装:
###################RPM_CHECK1################# -->仅仅是检查单个rpm包是否安装,未安装的不能自动安装
#!/bin/bash
# check rpm is installed or not
uname -r
rpm --version
echo
P=${1?" must specify package name."}
rpm -qa "$P" > t1
my_size=$( wc -l < t1 )
echo " Size of report file is $my_size lines"
if [[ $( rpm -qa $P ) =~ ${P} ]]
# if [[ $( rpm -qa $P ) == *${P}* ]]
then
echo " Package $P is installed."
else
echo " Package $P not found."
fi
exit 0
###################RPM_CHECK1#################
###################RPM_CHECK2################# -->可以实现多种rpm包的检查,未安装的自动安装
#!/bin/bash
#filename: check_rpm
uname -r
rpm --version
check_rpm()
{
while (( $# > 0 ))
do
if ! rpm -q $1 &> /dev/null;then
yum install $1 -y &>/dev/null
if [ $? == 0 ];then
echo "$1 install is success!"
else
echo "$1 is not in the systerm Packages!"
fi
fi
shift #执行一次shift则去掉第一个参数,始终只需判断$1即可
done
exit 0
}
check_rpm $@
###################RPM_CHECK2#################
###################RPM_CHECK3################# -->结合以上两个脚本
#!/bin/bash
#filename: check_rpm
uname -r
rpm --version
P=${1?" must specify package name."} #加入这一行表示必须需要输入一个有效的软件包名
check_rpm()
{
while (( $# > 0 ))
do
if ! rpm -q $1 &> /dev/null;then
yum install $1 -y &>/dev/null
if [ $? == 0 ];then
echo "$1 install is success!"
else
echo "$1 is not in the systerm Packages!"
fi
else
echo "$1 is installed"
fi
shift #执行一次shift则去掉第一个参数,始终只需判断$1即可
done
exit 0
}
###################RPM_CHECK3#################