shell编程之条件语句

目录

1.1条件测试操作

test命令

1.2条件测试操作

文件测试

常用的测试操作符

属性测试补充

1.3条件测试操作

整数值比较

常用的测试操作符

1.4条件测试操作

字符 串比较 

常用的测试操作符    

1.5条件测试操作

逻辑测试        

常用的测试操作符

 1.1if语句的结构

 1.2if语句的结构

 1.3if语句的结构

 case语句结构


1.1条件测试操作

test命令

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

格式1:test 条件表达式
格式2:[条件表达式]

1.2条件测试操作

文件测试

[ 操作符 文件或目录 ]

常用的测试操作符

-d:测试是否为目录(Directory)
-e:测试目录或文件是否存在(Exist)
-f:测试是否为文件(File)
-r:测试当前用户是否有权限读取(Read)
-w:测试当前用户是否有权限写入(Write)
-X:测试当前用户是否有权限执行(eXcute)
-L:测试是否为符号链接

属性测试补充

-s FILE#是否存在且非空
-t fd #fd文件描述符是否在某终端已经打开
-N FILE #文件自从上一次被读取之后是否被修改过
-O FILE#当前有效用户是否为文件属主
-G FILE #当前有效用户是否为文件属组

1.3条件测试操作

整数值比较

[ 整数1 操作符 整数2 ]

常用的测试操作符

-eq:等于(Equal)
-ne:不等于(Not Equal)
-gt:大于(Greater Than)
-lt:小于(Lesser Than)
-le:小于或等于(Lesser or Equal)
-ge:大于或等于(Greater or Equal)

1.4条件测试操作

字符 串比较 

格式1 [ 字符串1 = 字符串2 ]
      [ 字符串1 = 字符串2 ]

格式2 [ -z 字符串 ]

常用的测试操作符    

=: 字符串内容相同
!=: 字符串内容不同、!号表示相反的意思
-z:字符串内容为空

1.5条件测试操作

逻辑测试        

格式1 [ 表达式1 ] 操作符 [ 表达式 ] ...
格式2 命令1 操作符 命令2 ... 

常用的测试操作符

-a或&& :逻辑与, "而且" 的意思
-o或|| :逻辑或,"或者" 的意思
!: 逻辑否

 1.1if语句的结构

单分支结构

if 条件测试操作

    then 命令序列

fi

-------------------------

if 已用磁盘空间>80%

    then 报警
 
fi 

 1.2if语句的结构

if 条件测试操作

    then 命令序列1
     
    else 命令序列2

fi

-----------------------

if 80断口是否在监听

    then 网站服务已在运行

    else 启动httpd服务

fi

 

 1.3if语句的结构

if 条件测试操作1
        
    then 命令序列1

elif 条件测试操作

    then 命令序列2

else 
     
    命令序列3

fi 

------------------------------

if 分数为85-100之间

    then判为优秀

elif 分数为70-84之间

    then判断合格

esle
        
    判为不合格

fi

 

 

 case语句结构

case 变量值 in

模式1)
    
    命令序列1

    ;;

模式2)

    命令序列1

    ;;

    ......

*)
    
    默认命令序列

esac

------------------------------------------------

case 分数 in

85~100)

    判为优秀

    ;;

70~84)

    判为合格
  
    ;;

    ........

*)
    
    判为不合格

esac

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值