基础shell-if语句实现简单判断,并完成Nginx一键安装

判断目录或文件是否存在,-f表示判断文件,-d表示判断文件夹

1.判断文件是否存在

#!/bin/bash
NAME=/tmp/test.txt
if [ ! -f /tmp/test.txt ];then
        touch $NAME
        echo "$NMAE已成功创建。"
else
        echo "$NAME文件已存在."
fi

 2.判断目录是否存在

#!/bin/bash
NAME=/tmp/test
if [ ! -f $NAME ];then
        mkdir -p $NAME
        echo "$NMAE目录已成功创建。"
else
        echo "$NAME目录文件已存在."
fi

 判断条件和语句加-a,也可用&&,当文件和目录都不存在时,-o条件或语句也可用||,当文件或目录不存在时。

#!/bin/bash
NAME=/tmp/test
NAME2=/tmp/test.txt
if [ ! -d $NAME -a ! -f $NAME2 ];then
        mkdir -p $NAME
        touch $NAME2
        echo "$NMAE目录已成功创建。"
        echo "$NAME2文件已成功创建。"
else
        echo false.
fi

 

( )
用于多个命令组、命令替换、初始化数组,多用于 SHELL 命令组,例如:JF=(jf1jf2 jf3),其中括号左右不保留空格;
(( ))
整 数 扩 展 、 运 算 符 、 重 定 义 变 量 值 , 算 术 运 算 比 较 , 例 如 : ((i++)) 、((i<=100)),其中括号左右不保留空格;
[ ]
bash 内部命令,[ ]与 test 是等同的,正则字符范围、引用数组元素编号,不支持+-*/数学运算符,逻辑测试使用-a、-o,通常用于字符串比较、整数比较以及数组索引,其中括号左右要保留空格;
[[ ]]
bash 程序语言的关键字,不是一个命令,[[ ]]结构比[ ]结构更加通用,不支持+-*/数学运算符,逻辑测试使用&&、||,通常用于字符串比较、逻辑运算符等,其中括号左右要保留空格;
{}
主要用于命令集合或者范围,例如 mkdir -p /data/201{7,8}/,其中括号左右不保留空格。

#!/bin/bash
NUM1=$1
if [ $NUM1 -ge 100 ];then
        echo very goot.
else
        if [ $NUM1 -ge 80 ];then
                echo "good"
        else
                if [$NUM1 -ge 60 ];then
                        echo "pass"
                else
                        if [$NUM1 -gt 0 ];then
                                echo "no pass"
                        fi
                fi
        fi
fi

-lt 小于应用于整型比较 letter
-gt 大于应用于整型比较 greater
-le 小于或等于应用于整型比较
-ge 大于或等于应用于整型比较
NGX_ARGS="--user=www --group=www --with-http_stub_status_module"
if [ $# -eq 0 ];then
        echo -e "\033[32m----------------------\033[0m"
        echo -e "\033[32mUsage:{/bin/sh $0 1.12.2|1.26.1|help}\033[0m"
        exit 127
fi

$#表示输入参数个数,exit 127表示状态码为127,执行结果如下

 添加如下判断语句,判断是否安装了依赖环境和库文件,当执行结果小于2时安装依赖环境、库文件rpm -qa|grep gcc,判断是否安装gcc,执行结果为2条,则统计结果为2,rpm -qa|grep gcc|wc -l,统计执行结果具体数值

因为之前一键安装Nginx脚本存在,只要执行就要安装依赖环境、库文件的操作,加入以下判断条件,当文件已存在时,不需安装,直接进行下一步

CHECK_NUM=$(rpm -qa|grep gcc|wc -l)
if [ $CHECK_NUM -lt 2 ];then
        #提前解决Nginx编译所需依赖环境、库文件
        yum install -y gcc tar make pcre-devel zlib-devel openssl-devel
else
        echo "依赖和库文件已经存在,跳过安装,进行下一步"
fi

执行结果如下

 加入以下判断,是否已经安装nginx软件,如果安装将不再安装,退出执行

 执行结果如下

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值