linux shell 之if-------用if做判断
2019-08-22 本文已影响0人
大喵哥哥666
字符串判断
-
str1 = str2
当两个串有相同内容、长度时为真 -
str1 != str2
当串str1和str2不等时为真 -
-n str1
当串的长度大于0时为真(串非空) -
-z str1
当串的长度为0时为真(空串) -
str1
当串str1为非空时为真 -
\ > \ <
比较大小的时候 可以使用大于号,小于号,但是需转义。例如 [ "2006.01.23" \> "2005.03.01" ] && echo dayu || echo budayu
数字的判断
-
int1 -eq int2
两数相等为真 -
int1 -ne int2
两数不等为真 -
int1 -gt int2
int1大于int2为真 -
int1 -ge int2
int1大于等于int2为真 -
int1 -lt int2
int1小于int2为真 -
int1 -le int2
int1小于等于int2为真
文件的判断
-
-r file
用户可读为真 -
-w file
用户可写为真 -
-x file
用户可执行为真 -
-f file
文件为正规文件为真 -
-d file
文件为目录为真 -
-c file
文件为字符特殊文件为真 -
-b file
文件为块特殊文件为真 -
-s file
文件大小非0时为真 -
-t file
当文件描述符(默认为1)指定的设备为终端时为真
复杂逻辑判断
-
-a
与 -
-o
或 -
!
非