编写一个shell脚本,检测软件是否安装,如果没有安装,则让用户自行选择是否安装。

安装软件时:先看版本号是否符合
查看系统内核版本号信息
[root@exam ~]# uname -r
3.10.0-862.el7.x86_64
[root@exam ~]# uname -r | cut -d . -f 1
3
[root@exam ~]# uname -r | awk -F . '{print $1 }'
3

一.判断版本号

二.执行安装软件脚本
[root@exam ~]# chmod +x installPackage.sh

[root@exam ~]# vim installPackage.sh
#!/bin/bash
#文件名:installPackage.sh
#功能:要求用户输入一个软件包名,检查系统中是否已经安装了这个软件包,如果已经安装则给出提示,
#如果没有安装则让用户选择是否安装。如果用户选择安装则完成软件的安装,否则提示用户放弃安装该软件。
read -p "请输入软件包的名字:" package
pName=$(rpm -qa | grep "${package}")
if [ $? -eq 0 ]
then
        echo "软件包"${pName}"已经安装。"
else
       echo "软件包"${package}"没有安装"
       read -p "是否安装(y|n):"  -n 1 OK
       #-n 1  表示只能输一下,输入到OK的变量
       if [ ${OK} = "y" ] || [ ${OK} = "Y" ]   
        #y或者Y    用双竖线‘||’分割的多条命令,执行的时候遵循如下规则,
        如果前一条命令为真,则后面的命令不会执行,如果前一条命令为假,则继续执行后面的命令。
       then
               echo
               echo "开始安装"${package}"……"
               yum -y install ${package} >> /dev/null
               if test $? -eq 0
               then
                        echo "安装"${package}"完成。"
               else
                        echo "安装"${package}"失败。"
               fi
       else
                 echo "您选择了不安装"
       fi
fi
测试:
[root@exam ~]# ./installPackage.sh
请输入软件包的名字:nano
软件包nano没有安装
是否安装(y|n):n您选择了不安装
[root@exam ~]#
[root@exam ~]# ./installPackage.sh
请输入软件包的名字:nano
软件包nano没有安装
是否安装(y|n):y
开始安装nano……
安装nano完成。

 

 

 

 

 

 

 

你可能感兴趣的:(Linux)