操作符

  • 2015-04-07
  • 64
  • 0
  • 0

1、操作符

1.1 文件测试操作符

文件测试操作符
使用说明
-d
文件存在且为目录则为真,即测试表达式成立。
-f
文件存在且为普通文件则为真,即测试表达式成立。
-e
文件存在则为真,即测试表达式成立。
-r
文件存在且可读则为真,即测试表达式成立。
-s
文件存在且文件大小不为0则为真,即测试表达式成立。
-w
文件存在且可写则为真,即测试表达式成立。
-x
文件存在且可执行则为真,即测试表达式成立。
-L
文件存在且为链接文件则为真,即测试表达式成立。
f1 -nt f2
文件f1修改时间比文件f2新则为真,即测试表达式成立。
f1 -ot f2
文件f1修改时间比文件f2旧则为真,即测试表达式成立。

1.2 字符串测试操作符

字符串测试操作符
使用说明
-n “字符串”
若字符串长度不为0,则为真,即测试表达式成立。
-z “字符串”
若字符串的长度为0,则为真,即测试表达式成立。
“串1” = “串2”
若字符串串1等于字符串2,则为真,即测试表达式成立。
“串1” != “串2”
若字符串1不等于字符串2,则为真,即测试表达式成立。

1.3 整数二元比较操作符

整数二元比较操作符
使用说明
-eq
相等。
-ne
不相等。
-gt
大于。
-ge
大于等于。
-lt
小于。
-le
小于等于。

1.4 逻辑操作符

在[ ]中使用的操作符
在两个[ ]之间使用的操作符
使用说明
-a
&&
与,两端都为真,则结果为真。
-o
||
或,两端有一个为真,则结果为真。
!
!
非,两端相反,则结果为真。

2、实例

2.1 文件测试操作符

1)普通文件测试

[root@test-01 test]#mkdir a
[root@test-01 test]#touch b
[root@test-01 test]#[ -f a ] && echo 1 || echo 0
0
[root@test-01 test]#[ -f b ] && echo 1 || echo 0
1

2)目录文件测试

[root@test-01 test]#[ -d a ] && echo 1 || echo 0
1
[root@test-01 test]#[ -d b ] && echo 1 || echo 0
0

3)测试文件属性

[root@test-01 test]#ll
total 4
drwxr-xr-x 2 root root 4096 May 23 17:21 a
-rw-r--r-- 1 root root    0 May 23 17:21 b
[root@test-01 test]#[ -r b ] && echo 1 || echo 0
1
[root@test-01 test]#[ -w b ] && echo 1 || echo 0
1
[root@test-01 test]#[ -x b ] && echo 1 || echo 0
0

评论

还没有任何评论,你来说两句吧