|
shell 编程中使用到得if语句内判断参数
8 f6 k& e. q2 k6 Z1 U- B) M–b 当file存在并且是块文件时返回真 " Z1 O0 U: S. a5 b5 S/ Z4 T
-c 当file存在并且是字符文件时返回真
+ h7 L0 i8 Y# Z-d 当pathname存在并且是一个目录时返回真 9 R( Q7 G) J# @$ m4 k
-e 当pathname指定的文件或目录存在时返回真 9 D# n, E- \( j2 d( {; S4 F9 q
-f 当file存在并且是正规文件时返回真 8 O1 I5 I l: ~
-g 当由pathname指定的文件或目录存在并且设置了SGID位时返回为真 ' M# Y: b% R1 S; d
-h 当file存在并且是符号链接文件时返回真,该选项在一些老系统上无效
8 U0 r) }. o3 }0 \9 U-k 当由pathname指定的文件或目录存在并且设置了“粘滞”位时返回真
5 P5 t) i# G4 r5 I5 Q# W-p 当file存在并且是命令管道时返回为真
: A2 I- K6 @1 C/ ?1 t-r 当由pathname指定的文件或目录存在并且可读时返回为真 # w1 M J# h$ i( g9 i
-s 当file存在文件大小大于0时返回真
- F2 i: p* N7 x0 T-u 当由pathname指定的文件或目录存在并且设置了SUID位时返回真
/ Z& ^& a v& v, L! Y-w 当由pathname指定的文件或目录存在并且可执行时返回真。一个目录为了它的内容被访问必然是可执行的。
; A& s6 U& b7 ^3 D2 C5 K-o 当由pathname指定的文件或目录存在并且被子当前进程的有效用户ID所指定的用户拥有时返回真。
! Q$ o8 w! ?9 D6 D$ t9 U) t6 x& n7 Y X' w$ A0 z1 o5 Y9 W- c/ \
UNIX Shell 里面比较字符写法:
2 Y& j3 T i( v: z7 X9 T-eq 等于
7 ]0 {$ {( i/ O; x" V' S4 N-ne 不等于 8 Q) k0 W) b1 L/ I0 B
-gt 大于 - R) C, m' _1 _) ^/ g0 F
-lt 小于 & g. G+ O2 m, R; o6 W4 g
-le 小于等于
. B2 l9 H6 d2 i H7 R5 Z-ge 大于等于 & m6 H% x6 j& q0 }) R+ i: o6 F
-z 空串
1 x2 O0 r; A4 w= 两个字符相等
( ]$ v; K- p5 _# x! D!= 两个字符不等
8 D. ]6 ~3 @" G+ F-n 非空串 |
|