bash条件测试
2016-08-06 10:49:41 13 举报
AI智能生成
Linux,bash条件测试
作者其他创作
大纲/内容
bash条件测试
字符串
==
等于
=~
左侧字符串是否能够被右侧的PATTERN所匹配
例如: [[ "$name" =~ ^l.* ]]
!=
不等于
>
大于
<
小于
文件
是否存在
-e (或者-a)
类型
-b
块设备
-c
字符设备
-d
目录
-f
普通文件
-h
符号连接(也可以用 -L)
-p
命名管道
-S
套接字
权限
-r
可读
-w
可写
-x
可执行
特殊权限
-g
拥有sgid权限
-u
拥有suid权限
-k
拥有sticky权限
大小
-s
非空
-t
打开
-t fdfd表示文件描述符是否已经打开且与某终端相关
-N
从上次读取之后已经做过修改
-O
用户为文件属主
-G
用户为文件属组
测试方法
test EXPRESSION
[ EXPRESSION ]
[[ EXPRESSION ]]
数值
-gt
-ge
大于等于
-eq
-ne
-lt
-le
小于等于
组合测试
第一种
[ -e FILE ] && [ -r FILE ]
于
[ -e FILE ] || [ -r FILE ]
或
!COMMAND
非
第二种
[ -e FILE ] -a [ -r FILE ]
[ -e FILE ] -o [ -r FILE ]
!EXPRESSION
双目测试
FILE1 -ef FILE2
FILE1与FILE2的inode是否相同
FILE1 -nt FILE2
FILE1是否新于FILE2
FILE1 -ot FILE2
FILE1是否旧于FILE2
0 条评论
下一页