某需求是否滿足,是需要測試機制來實現的
測試表達式是需要測試命令配合來完成的
測試表達式 :
1、test 表達式 expression 表達式
2、[表達式 expression 表達式]
3、[[表達式 expression 表達式]].
注:中括號中兩側必須有空格存在,否則語法錯誤
測試類型
1、數字測試
-gt:是否大於
-ge:是否大於等於
-eq:是否等於
-ne:是否不等於
-le:是否小於等於
-lt:是否小於
2、字符串測試
==:是否等於
>:是否大於
<:是否小於
!=:是否不等於
=~:左側的字符串是否能被右側的模式匹配到。一般用於[[]]中
-z "string":測試字符串是否爲空
-n:"string":測試字符串是否不爲空
注:字符串比較時,字符串必須用引號引用起來。
3、文件測試
存在性測試:-a:邏輯與
-e:存在性測試
存在性及類型測試
-b:是否存在且爲設備
-c:是否存在且爲字符設備
-d:是否存在且爲目錄文件
-f:是否存在且爲普通文件
-h:是否存在且爲鏈接文件
-p:是否爲存在且爲管道文件
-S:是否存在且爲套接字文件
特殊權限測試
-g:是否存在且擁有Sgid權限
-u:是否存在且爲Suid權限
大小測試
-s:是否爲空目錄