Shell编程之条件语句

Test命令

        测试表达式是否成立,若成立时返回0,否则返回其他数值

        格式1:test 条件表达式

        格式2:[ 条件表达sh]

条件测试

        [操作符 文件或目录]

常用的测试操作符

        -d: 测试是否为目录(Directory)

        -e:测试目录或文件是否存在(Exist)

        -f :测试是否为文件(File)

        -r:测试当前用户是否拥有读取权限(Read)

        -w:测试用户是否有权限写入(Write)

        -x:测试当前用户是否有权限执行(eXcute)

整数值比较

        [整数1 操作符 整数2]

常用的测试操作符

        -eq:等于(Equal)

        -ne:不等于(Not Equal)

        -gt:大于(Greater Than)

        -lt:小于(Lesser Than)

        -le:小于或等于(Lesser or  Equal)

        -ge:大于或等于(Greater or Equal)

字符串比较
       作用:用于字符串类型比较

                格式一

                        语法:[ 字符串1=字符串2 ] 

                        语法:[ 字符串1 !=字符串2]

                格式二

                        语法:[ -z 字符串]

        常用的测试操作符

                =:字符串内容相同

               !=:字符串内容不同,!表示相反的意思

                -z=:字符串内容为空

逻辑测试

        格式一: [表达式1]操作符[表达式2]....

        格式二:命令1 操作符 命令2

常用的测试操作符

        -a或&&:逻辑与,“而且”的意思

        -o或||:逻辑或,“或者”的意思

        !:逻辑否

if语句的结构

        作用:根据测试结果的成立,不成立分别执行不同的操作

        单分支if 语句

语法:

        if [ 条件表达式 ] then

                条件成立执行的内容

        fi

示例  

[root@192 ~]# vi kgc.sh
if [ ! -d "/media/cdrom" ]
then
mkdir /media/cdrom
fi
[root@192 ~]#chmod +x kgc.sh
[root@192 ~]./kgc.sh

双分支结构

        语法

                if [ 条件表达式 ]  then

                        条件成立执行的内容

                else        

                        条件不成立执行的内容

                fi

例子

[root@192 ~]#vi kgc.sh
if [ ! -d "/media/cdrom" ]
then
mkdir /media/cdrom
else
echo "目录已存在不需要创建"
fi
[root@192 ~]#chmod +x kgc.sh
[root@192 ~]#./kgc.sh
[root@192 ~]#rm -rf /media/chmod/
[root@192 ~]#./kgc.sh

case分支语句

        作用:主要用于某个变量存在多种取值,只需要其一,每种不同的值都有不同的执行结果

        语法:

                case 变量值 in

                 值1)

                        执行的命令1

                        ;;

                值2)

                        执行的命令2

                         ;;

                *)

                        执行的命令3

                        ;;

                esca

 例子:

        

[root@192 ~]#vi kgc.sh
#!/bin/bash
case "$1" in
start)
echo "正在启动服务。。。。。"
sleep 3
;;
stop)
echo "正在关闭服务"
;;
restart)
echo "正在重启服务"
sleep 3
echo "服务重启成功"
;;
*)
echo "Usage: $0 <start|stop|restart>"
esac

  • 37
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值