shell中条件判断if中的-z到-d的意思

shell中条件判断if中的-z到-d的意思

[-aFILE]如果FILE存在则为真。

[-bFILE]如果FILE存在且是一个块特殊文件则为真。

[-cFILE]如果FILE存在且是一个字特殊文件则为真。

[-dFILE]如果FILE存在且是一个目录则为真。

[-eFILE]如果FILE存在则为真。

[-fFILE]如果FILE存在且是一个普通文件则为真。

[-gFILE]如果FILE存在且已经设置了SGID则为真。

[-hFILE]如果FILE存在且是一个符号连接则为真。

[-kFILE]如果FILE存在且已经设置了粘制位则为真。

[-pFILE]如果FILE存在且是一个名字管道(F如果O)则为真。

[-rFILE]如果FILE存在且是可读的则为真。

[-sFILE]如果FILE存在且大小不为0则为真。

[-tFD]如果文件描述符FD打开且指向一个终端则为真。

[-uFILE]如果FILE存在且设置了SUID(setuserID)则为真。

[-wFILE]如果FILE如果FILE存在且是可写的则为真。

[-xFILE]如果FILE存在且是可执行的则为真。

[-OFILE]如果FILE存在且属有效用户ID则为真。

[-GFILE]如果FILE存在且属有效用户组则为真。

[-LFILE]如果FILE存在且是一个符号连接则为真。

[-NFILE]如果FILE存在andhasbeenmod如果iedsinceitwaslastread则为真。

[-SFILE]如果FILE存在且是一个套接字则为真。

[FILE1-ntFILE2]如果FILE1hasbeenchangedmorerecentlythanFILE2,or如果FILE1existsandFILE2doesnot则为真。

[FILE1-otFILE2]如果FILE1比FILE2要老,或者FILE2存在且FILE1不存在则为真。

[FILE1-efFILE2]如果FILE1和FILE2指向相同的设备和节点号则为真。

[-oOPTIONNAME]如果shell选项“OPTIONNAME”开启则为真。

[-zSTRING]“STRING”的长度为零则为真。

[-nSTRING]or[STRING]“STRING”的长度为非零non-zero则为真。

[ARG1OPARG2]“OP”isoneof-eq,-ne,-lt,-le,-gtor-ge.Thesearithmeticbinaryoperatorsreturntrueif“ARG1”isequalto,notequalto,lessthan,lessthanorequalto,greaterthan,orgreaterthanorequalto“ARG2”,respectively.“ARG1”and“ARG2”areintegers.

数字判断

[$count-gt"1"]如果$count大于1为真

-gt大于

-lt小于

-ne不等于

-eq等于

-ge大于等于

-le小于等于

[STRING1==STRING2]如果2个字符串相同。“=”maybeusedinsteadof“==”forstrictPOSIXcompliance则为真。

[STRING1!=STRING2]如果字符串不相等则为真。

[STRING1<STRING2]如果“STRING1”sortsbefore“STRING2”lexicographicallyinthecurrentlocale则为真。

[STRING1>STRING2]如果“STRING1”sortsafter“STRING2”lexicographicallyinthecurrentlocale则为真。

http://blog.csdn.net/longyinyushi/article/details/50728049

http://blog.csdn.net/superbfly/article/details/49274889