使用test來進(jìn)行判斷
# test [選項(xiàng)] 文件test -d /Users/zhanghe/desktop/user/shell---------------------示例:#如果該文件是目錄則輸出yes,否則輸出notest -d /Users/zhanghe/desktop/user/shell && echo yes || echo no
選項(xiàng)按照文件類型判斷
-d 判斷文件是否存在,且為目錄-e 判斷文件是否存在-f 判斷文件是否存在,且為普通文件-s 判斷文件是否存在,并且是否為非空文件#示例test -s stu.txt
按照權(quán)限判斷
-r 判斷文件是否存在,且是否有讀權(quán)限-w 判斷文件是否存在,且是否有寫權(quán)限-x 判斷文件是否存在,且是否有執(zhí)行權(quán)限#示例test -w stu.txt
數(shù)值比較
-eq 比較兩個(gè)數(shù)是否相等-ne 比較數(shù)1是否與數(shù)2不相等-gt 比較數(shù)1是否大于數(shù)2-lt 比較數(shù)1是否小于數(shù)2-ge 比較數(shù)1是否大于等于數(shù)2-le 比較數(shù)1是否小于等于數(shù)2#示例test 1 -eq 2
字符串比較
-z 判斷字符串是否為空-n 判斷字符串是否非空== 判斷兩個(gè)字符串是否相等!= 判斷兩個(gè)字符串是否不等#示例test "aa" == "ab"
邏輯判斷
-a 邏輯與-o 邏輯或! 邏輯非#示例test "aa" == "aa" -a "ab" == "aa"
上述得test可以使用[ ]來替代
如:
[ -s stu.txt ]
[ "aa" == "ab" ]