|
shell 编程中使用到得if语句内判断参数, g1 j+ A, ]9 A
–b 当file存在并且是块文件时返回真 / ]7 P# E$ ]+ p1 |5 L( H7 u; \
-c 当file存在并且是字符文件时返回真 " \, Y/ m# m4 r! P/ E
-d 当pathname存在并且是一个目录时返回真
( `' [- C5 t2 m8 @% r, x, e-e 当pathname指定的文件或目录存在时返回真 3 G* o i# G7 G+ S) C; e: u" ^
-f 当file存在并且是正规文件时返回真
, T% O. H2 ~! V% D+ s }+ W-g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真
1 w5 H. J# M' ~# }-h 当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效 9 ^9 ?7 V; H! q3 t! ~6 M. y
-k 当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真 4 f0 F, C- f8 G# ]/ W) V
-p 当file存在并且是命令管道时返回为真 6 E2 k0 J0 T' D/ Q' {2 e. D% o
-r 当由pathname指定的文件或目录存在并且可读时返回为真
) t6 [# l) g" [4 l6 n-s 当file存在文件大小大于0时返回真 & Y8 R1 ]. F* ]) L) m) |/ R
-u 当由pathname指定的文件或目录存在并且设置了SUID位时返回真
2 Y5 g! ]" O- k/ V1 [0 W6 o2 R- [-w 当由pathname指定的文件或目录存在并且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。 ; o8 N, e& l, m: w3 V# K
-o 当由pathname指定的文件或目录存在并且被子当前进程的有效用户ID所指定的用户拥有时返回真。
1 [4 j' y. F! Q6 }2 k8 [% q7 U( f: [8 l
UNIX Shell 里面比较字符写法:
5 d% Z$ [' [/ @' e; c/ O, t- R-eq 等于 9 H, z) j6 s9 R9 v* w
-ne 不等于
. C5 v7 ~9 a# F x4 U! O-gt 大于
/ S L& D& {% J9 i, r5 s$ \4 b v/ h-lt 小于
9 j: s. J& H' H9 y-le 小于等于
7 V7 {2 c( r& u9 z f-ge 大于等于 0 l" B$ |7 M* Q7 o2 [! w4 y
-z 空串 2 H5 `; N+ M3 l' ]) ~' y# z
= 两个字符相等 % S' T1 ]' c7 x$ L
!= 两个字符不等
0 G0 X7 c1 D: K& _+ ~$ J-n 非空串 |
|