bash条件判断

条件测试类型

整数测试
字符测试
文件测试

条件测试的表达式
【 expression 】
【【 expression 】】
test expression

实例:

[root@slave ~]# [ 2 -gt 1 ]
[root@slave ~]# echo $?
0
[root@slave ~]# [[ 1 -gt 2 ]]
[root@slave ~]# echo $?
1

整数测试(双目)
-eq     //测试两个整数是否相等
-ne     //测试两个整数是否不等
-gt     //测试一个数是否大于另一个数
-lt     //测试一个数是否小于另一个数
-ge     //大于或等于
-le     //小于或等于
字符测试
==     //等值比较,检查==两边的内容是否一致,==两边都要有空格
!=      //检查两边内容是否不一致,不一致为真,一致为假
=~      //左侧字符串是否能够被右侧的PATTERN所匹配到。此表达式应用于双中括号[[]]中
-z "string"     //测试指定字符串是否为空,空则为真,不空则为假
-n "string"     //测试指定字符串是否不空,不空则为真,空则为假
文件测试
//存在性测试:
	-e      //测试文件是否存在
//存在性及类别测试:
	-b      //测试文件是否为块设备文件
	-c      //测试文件是否为字符设备文件
	-f      //测试文件是否为普通文件
	-d      //测试指定路径是否为目录
	-h      //测试文件是否为符号链接文件
	-L      //测试文件是否为符号链接文件
	-p      //测试文件是否为命名管道文件
	-S      //测试文件是否为套接字文件
//文件权限测试:
 	-r      //测试当前用户对指定文件是否有读权限
	-w      //测试当前用户对指定文件是否有写权限
	-x      //测试当前用户对指定文件是否有执行权限
//文件特殊权限测试:
   	-g      //测试文件是否有sgid权限
 	-u      //测试文件是否有suid权限
	-k      //测试文件是否有sticky权限
//文件大小测试:
	-s      //测试文件是否非空
//文件是否打开测试:
	-t fd   //fd表示的文件描述符是否已经打开且与某终端相关
//双目测试:
	file1 -ef file2     //测试file1与file2是否指向同一个设备上的相同inode,说白点就是两者是不是同一个文件
	file1 -nt file2     //测试file1是否比file2新
	file1 -ot file2     //测试file1是否比file2旧
//无分类:
	-N      //测试文件自从上一次被读取之后是否被修改过
	-O      //测试文件是否存在并且被当前用户拥有
	-G      //测试文件是否存在并且默认组是否为当前用户组
组合测试条件
-a      //与关系
-o      //或关系
!       //非关系

[ $# -gt 1 -a $# -le 3 ]
[ $# -gt 1 ] && [ $# -le 3 ]
条件判断,控制结构
  • 单分支if语句

      if 判断条件; then
      	statement1
      	statement2
      ......
      fi
    
  • 双分支if语句

     if 判断条件; then
     	statement1
     	statement2
     ......
     else
      statement3
      statement4
     ......
     fi
    
  • 多分支if语句

     if 判断条件1; then
     	statement1
     	statement2
     ......
     elif 判断条件2; then
     	statement3
     	statement4
     ......
     else
     	statement5
     	statement6
     ......
     fi
    
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值