检查RPM包是否已经安装

 

  
  
  
  
  1. [plain] view plaincopyprint?  
  2. ###################RPM_CHECK1################# -->仅仅是检查单个rpm包是否安装,未安装的不能自动安装    
  3. #!/bin/bash    
  4. # check rpm is installed or not    
  5. uname -r    
  6. rpm --version    
  7.     
  8. echo    
  9. P=${1?" must specify package name."}    
  10.     
  11. rpm -qa "$P" > t1    
  12. my_size=$( wc -l < t1 )    
  13. echo " Size of report file is $my_size lines"    
  14.     
  15. if [[ $( rpm -qa $P ) =~ ${P} ]]    
  16. # if [[ $( rpm -qa $P ) == *${P}* ]]    
  17. then    
  18.   echo " Package $P is installed."    
  19. else    
  20.   echo " Package $P not found."    
  21. fi    
  22.     
  23. exit 0    
  24. ###################RPM_CHECK1#################  

 

  
  
  
  
  1. [plain] view plaincopyprint?  
  2. ###################RPM_CHECK2#################  -->可以实现多种rpm包的检查,未安装的自动安装    
  3. #!/bin/bash    
  4. #filename: check_rpm    
  5. uname -r    
  6. rpm --version    
  7.     
  8. check_rpm()    
  9. {    
  10.     while (( $# > 0 ))    
  11.     do    
  12.         if ! rpm -q $1 &> /dev/null;then    
  13.             yum install $1 -y &>/dev/null    
  14.             if  [ $? == 0 ];then    
  15.                 echo "$1 install is success!"    
  16.             else    
  17.                 echo "$1 is not in the systerm Packages!"    
  18.             fi    
  19.         fi    
  20.     shift #执行一次shift则去掉第一个参数,始终只需判断$1即可      
  21.     done    
  22.     exit 0    
  23. }    
  24.     
  25. check_rpm $@    
  26. ###################RPM_CHECK2#################  

 

  
  
  
  
  1. [plain] view plaincopyprint?  
  2. ###################RPM_CHECK3#################  -->结合以上两个脚本    
  3.     
  4.     
  5. #!/bin/bash    
  6. #filename: check_rpm    
  7. uname -r    
  8. rpm --version    
  9.     
  10. P=${1?" must specify package name."}  #加入这一行表示必须需要输入一个有效的软件包名    
  11.     
  12. check_rpm()    
  13. {    
  14.     while (( $# > 0 ))    
  15.     do    
  16.         if ! rpm -q $1 &> /dev/null;then    
  17.             yum install $1 -y &>/dev/null    
  18.             if  [ $? == 0 ];then    
  19.                 echo "$1 install is success!"    
  20.             else    
  21.                 echo "$1 is not in the systerm Packages!"    
  22.             fi    
  23.         else     
  24.             echo "$1 is installed"    
  25.         fi    
  26.     shift #执行一次shift则去掉第一个参数,始终只需判断$1即可      
  27.     done    
  28.     exit 0    
  29. }    
  30. ###################RPM_CHECK3#################  

 

你可能感兴趣的:(编程,shell,脚本)