bash 比较运算符

上一篇 / 下一篇  2007-11-28 12:49:15 / 个人分类:Linux

文件比较运算符 51Testing软件测试网:x'K2D!c(LCkn

-e filename

j5e7nuPn5?j)T0

如果 filename存在,则为真 51Testing软件测试网'Q%V|Skp

[ -e /var/log/syslog ]

G#cII4O,O0

-d filename

6b I#t ^(JL2^0

如果 filename为目录,则为真

W3kAWr7k,r0

[ -d /tmp/mydir ] 51Testing软件测试网3EHk?tOcl

-f filename

9p3H nC.~pR0

如果 filename为常规文件,则为真

F*_ I"zRK {K0

[ -f /usr/bin/grep ] 51Testing软件测试网n"x XhRFI8@ K

-L filename 51Testing软件测试网,Lv| |;{Cbu

如果 filename为符号链接,则为真

6R5`(|R7gB Jje.Z0

[ -L /usr/bin/grep ]

P(w1Q*c8U CZ4i2b0

-r filename 51Testing软件测试网 p/h-H3C,~.Z

如果 filename可读,则为真 51Testing软件测试网I1hC)~Q4?(i9N

[ -r /var/log/syslog ] 51Testing软件测试网W0oF%b:moLC(Wn

-w filename 51Testing软件测试网0G V.V)Mo

如果 filename可写,则为真 51Testing软件测试网X7AM&J2b/d$q

[ -w /var/mytmp.txt ]

%SK1R f%bof3m:oT0

-x filename 51Testing软件测试网^$vkPJ[)U*o2PY

如果 filename可执行,则为真 51Testing软件测试网6g xs3gQ6VT&_v

[ -L /usr/bin/grep ]

#Vr-uU-s Y${-E0

-s filename

*oo{;s1Cr0

如果 filename不是空白文件,则为真

cQX4Gnl}U0U3x"?0

51Testing软件测试网Vy9Fc5{E^

-u filename 51Testing软件测试网uh/X\9X`

如果 filenameSUID属性,则为真 51Testing软件测试网 E v:Sf~6d9}%s+M

51Testing软件测试网^hd6o&bLK

-g filename

o7hS+h'B y x/q nKp0

如果 filenameSGID属性,则为真 51Testing软件测试网6R7r4?*tb7S

&~,n6l.c?AkF0

-k filename 51Testing软件测试网2A X k9t7W/q)[y

如果 filenamesticky bit属性,则为真

8R W#[vH t+oc0

51Testing软件测试网p,i;C@*M)\rr?x

filename1-nt filename2 51Testing软件测试网 ^)U7M-eb(q;Wr

如果 filename1 filename2新,则为真 51Testing软件测试网,G"{nV%@6N6[

[ /tmp/install/etc/services -nt /etc/services ]

c,m.~lT1t7aq0

filename1-ot filename2

g(WKTE*^}Z0

如果 filename1 filename2旧,则为真 51Testing软件测试网|$[Y*Z-TMQ

[ /boot/bzImage -ot arch/i386/boot/bzImage ] 51Testing软件测试网.T e w `#Q#@I

字符串比较运算符 (请注意引号的使用,这是防止空格扰乱代码的好方法)

Bc6b [PmpED1K0

-z string 51Testing软件测试网R,PLYes!@

如果 string长度为零,则为真 51Testing软件测试网@/l d1}Y,y(C

[ -z "$myvar" ] 51Testing软件测试网.tR#?yrgcUK"L

-n string 51Testing软件测试网&AM'E1PCzy~

如果 string长度非零,则为真 51Testing软件测试网7f#bPCD;^-f D

[ -n "$myvar" ]

j/wj@c-]0

string1= string2

,lW r2W?e'z0

如果 string1 string2相同,则为真 51Testing软件测试网 z4D aED-e/G9? q

[ "$myvar" = "one two three" ]

QC4@l+Y,V4o0

string1!= string2 51Testing软件测试网_z2MI Eq)d{

如果 string1 string2不同,则为真

-?.f*IX2j;aPoO.C0

[ "$myvar" != "one two three" ]

0K0|Z`%I*y C-T?J0

算术比较运算符

n*rU3S)r8|9m K,mf0

num1-eq num2 51Testing软件测试网#K0]u@9lWW9p&}

等于 51Testing软件测试网V T`7px Y}W}A

[ 3 -eq $mynum ]

NS-qA3~0

num1-ne num2 51Testing软件测试网L7P,IA ln

不等于

$k^O}9k-yJ"G zag8\0

[ 3 -ne $mynum ]

]O:e8}2A5v D3c`Cg M0

num1-lt num2

:Jj E6F7[6i0}ir0

小于

HBW7^ gj {KIF0

[ 3 -lt $mynum ]

#X)Z"_;bx8J0

num1-le num2 51Testing软件测试网:rA S^.Sp] }P

小于或等于

G D:o4s `,umS5y0

[ 3 -le $mynum ]

2SGd,D:N8v0

num1-gt num2 51Testing软件测试网 \&pI6IV7ow

大于 51Testing软件测试网h`q;T(ORY ~8ulF5_

[ 3 -gt $mynum ] 51Testing软件测试网X&U5g[6yz8kY

num1-ge num2     51Testing软件测试网8dL G[!y7cr

大于或等于 51Testing软件测试网-M!`A4_q Ys'D-I6q|

[ 3 -ge $mynum ]    

`&K w t.NP0

0{!G!}3R&SyB0 

C&P%M~c0

y?N~o;HuJ`0注:7月28日写于msn共享空间51Testing软件测试网"z.S2S+PS


TAG: Linux

 

评分:0

我来说两句

Open Toolbar