Linux下test命令使用
test命令格式:?
[cpp]?view plain?copy ?通常,在if-then-else語句中,用[]代替,即[ condition ]。注意:方括號兩邊都要用空格。
?
1、數(shù)值比較?
===========================================================?
比 較 描 述?
-----------------------------------------------------------?
n1 -eq n2 檢查n1是否與n2相等 (equal)?
n1 -ge n2 檢查n1是否大于或等于n2 (greater and equal)?
n1 -gt n2 檢查n1是否大于n2 (greater than)?
n1 -le n2 檢查n1是否小于或等于n2 (less and equal)?
n1 -lt n2 檢查n1是否小于n2 (less than)?
n1 -ne n2 檢查n1是否不等于n2 (not equal)?
===========================================================?
例子:
2、字符串比較?
===========================================================?
比 較 描 述?
-----------------------------------------------------------?
str1 = str2 檢查str1是否和str2相同?
str1 != str2 檢查str1是否和str2不同?
str1 < str2 檢查str1是否比str2小?
str1 > str2 檢查str1是否比str2大?
-n str1 檢查str1的長度是否非0?
-z str1 檢查str1的長度是否為0?
===========================================================?
需要注意的是:
- 字符串比較大于小于號必須轉(zhuǎn)義,即加反斜線。?
- 字符串比較的順序是按ASCII表的順序的,大寫字母比小寫字母的值小。
文件比較?
=======
這是shell編程中最強(qiáng)大的也是最常用到的比較。test命令允許你測試Linux文件系統(tǒng)上文件和目錄的狀態(tài),如下表:?
==================================================================?
比 較 描 述?
------------------------------------------------------------------?
-d file 檢查file是否存在并是一個目錄?
-e file 檢查file是否存在?
-f file 檢查file是否存在并是一個文件?
-r file 檢查file是否存在并可讀?
-s file 檢查file是否存在并非空?
-w file 檢查file是否存在并可寫?
-x file 檢查file是否存在并可執(zhí)行?
-O file 檢查file是否存在并屬當(dāng)前用戶所有?
-G file 檢查file是否存在并且默認(rèn)組與當(dāng)前用戶相同?
file1 -nt file2 檢查file1是否比file2新?
file1 -ot file2 檢查file1是否比file2舊?
==================================================================?
?
3、檢查目錄
-d測試會檢查指定的文件名是否在系統(tǒng)上以目錄形式存在。當(dāng)寫文件到某個目錄之前,或者是將文件放置到某個目錄位置之前時,這會非常有用。?
[cpp]?view plain?copy ?上面代碼使用了-d測試條件來檢查用戶的$HOME目錄是否存在。如果它存在的話,它將繼續(xù)使用cd命令來切到$HOME目錄并進(jìn)行顯示目錄下的文件。
?
4、檢查對象是否存在
-e比較允許你在腳本中使用對象前檢查文件或目錄對象是否存在:
[cpp]?view plain?copy ?
5、檢查文件
-e比較適用于文件和目錄。但要確定指定的對象是個文件,你必須用-f比較:?
[cpp]?view plain?copy ?
6、檢查是否可讀
在嘗試從文件中讀取數(shù)據(jù)之前,最好先測試一下是否能讀文件??梢杂?r測試。
7、檢查空文件
用-s來檢查文件是否為空,尤其是在你要刪除文件時。當(dāng)-s比較成功時要特別小心,它說明文件中有數(shù)據(jù)。
8、檢查是否可寫
-w比較用來判斷你是否對文件有可寫權(quán)限。
9、檢查是否可執(zhí)行
-x比較是一個簡便的斷判斷你對某個特定文件是否有執(zhí)行權(quán)限的方法。雖然可能大多數(shù)命令用不到它,但如果你要在shell中運(yùn)行大量腳本,它可能很方便。
10、檢查所屬關(guān)系
-O比較允許你輕松地測試你是否是文件的屬主。
11、檢查默認(rèn)屬組關(guān)系
-G比較會檢查文件的默認(rèn)組,如果它匹配了用戶的默認(rèn)組,那就通過了
總結(jié)
以上是生活随笔為你收集整理的Linux下test命令使用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 什么是CPU虚拟化?打开好还是关闭好?
- 下一篇: Exynos4412 Uboot 编译工