条件判断

返回主页

一、条件判断语法格式

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

warning 注意: “[”、“]”、”[[“ 、”]]” 两侧都必须有空格。

例如:

  • [ 条件表达式与两边的中括号之间有空格 ]
  • [[ 条件表达式与两边的双中括号之间有空格 ]]

二、条件判断相关参数

判断参数 含义
-e 判断文件是否存在(任何类型文件)
-f 判断文件是否存在并且是一个普通文件
-d 判断文件是否存在并且是一个目录
-L 判断文件是否存在并且是一个软连接文件
-b 判断文件是否存在并且是一个块设备文件
-S 判断文件是否存在并且是一个套接字文件
-c 判断文件是否存在并且是一个字符设备文件
-p 判断文件是否存在并且是一个命名管道文件
-s 判断文件是否存在并且是一个非空文件(有内容)

举例:

test -e Demo.sh                # 只要文件存在条件为真
[ -d /shell01/dir1 ]        # 判断目录是否存在,存在条件为真
[ ! -d /shell01/dir1 ]        # 判断目录是否存在,不存在条件为真
[[ -f /shell01/Demo.sh ]]    # 判断文件是否存在,并且是一个普通的文件

三、判断文件权限

判断参数 含义
-r 当前用户对其是否可读
-w 当前用户对其是否可写
-x 当前用户对其是否可执行
-u 是否有suid,高级权限冒险位
-g 是否sgid,高级权限强制位
-k 是否有t位,高级权限粘滞位

四、判断文件新旧

判断参数 含义
file1 -nt file2 比较file1是否比file2新
file1 -ot file2 比较file1是否比file2旧
file1 -ef file2 比较是否为同一个文件

五、判断整数

判断参数 含义
-eq 相等
-ne 不等
-gt 大于
-lt 小于
-ge 大于等于
-le 小于等于

六、判断字符串

判断参数 含义
-z 判断是否为空字符串,字符串长度为0则成立
-n 判断是否为非空字符串,字符串长度不为0则成立
string1 = string2 判断字符串是否相等
string1 != string2 判断字符串是否相不等
展开/折叠菜单
72 预览数量 2024-03-25 17:25:01 发布 时间
目录
赞数量
评论数量
返回顶部
暂无评论

暂无评论