為了判斷某條件是否滿足,需要測試機制來滿足條件
測試表達式的寫法:
test 表達式
【 表達式 】
【【 表達式 】】
注意,使用【】表達式前后要有空格
bash的測試類型:
數值測試
字符串測試
文件測試
數值測試:
-gt 是否大于
-ge 是否大于等于
-lt 是否小于
-le 是否小于等于
-ne 是否不等于
-eq 是否等于
字符串測試:
== 是否等于
> 是否大于
< 是否小于
=~ 左側字符串是否能被右側的模式匹配
!= 是否不等于
-z “string” 測試字符串是否為空,空者為真
-n “string” 測試字符串是否為不空,不空為真
文件測試:
-e FILE 文件是否存在,存在為真,不存在為假
-f FILE 文件是否存在,且為普通文件
-d FILE 文件是否存在,且為目錄文件
-g FILE 是否存在,且擁有SGID權限
-u FILE 是否存在,且擁有SUID權限
-k FILE 是否存在,且擁有Sticky權限
-r FILE 是否存在,且擁有讀權限
-w FILE 是否存在,且擁有寫權限
-x FILE 是否存在,且擁有執行權限
-s FILE 是否存在,且非空
-O FILE 當前文件是否為文件屬主
-G FILE 當前文件是否為文件屬組
組合條件測試: