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