检查RPM包是否已经安装


检查RPM包是否已经安装:

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

相关内容