一、test命令概述
test命令是shell內置的一個命令,用於檢查文件的類型和測試各種條件,這個命令同樣也可以用於判斷變量類型、字符串比較以及數值比較等操作。在進行shell腳本編寫時,經常會用到test命令來判斷條件的成立或不成立,以此來進行程序的控制流程。
二、test命令的使用
test命令的一般語法是:test expression,其中expression是一個條件表達式,可以是文件測試、字符串測試或數值測試。當表達式為真時,test命令退出狀態碼為0,否則為1。
三、文件測試
1. 檢查文件是否存在:
test -e /path/to/file
這個命令返回0表示文件存在,返回1表示不存在。
2. 檢查文件是否為目錄:
test -d /path/to/directory
這個命令返回0表示目錄存在,返回1表示不存在或者是其他類型的文件。
3. 檢查文件是否可讀:
test -r /path/to/file
這個命令返回0表示文件可讀,返回1表示文件不可讀。
4. 檢查文件是否可寫:
test -w /path/to/file
這個命令返回0表示文件可寫,返回1表示文件不可寫。
5. 檢查文件是否可執行:
test -x /path/to/file
這個命令返回0表示文件可執行,返回1表示文件不可執行。
6. 檢查文件是否為空:
test -s /path/to/file
這個命令返回0表示文件非空,返回1表示文件為空。
四、字符串測試
1. 檢查字符串是否為空:
test -z $str
這個命令返回0表示字符串為空,返回1表示不為空。
2. 檢查字符串是否相等:
test $str1 = $str2
這個命令返回0表示字符串相等,返回1表示不相等。
3. 檢查字符串是否不相等:
test $str1 != $str2
這個命令返回0表示字符串不相等,返回1表示相等。
五、數值測試
1. 比較兩個數值是否相等:
test $num1 -eq $num2
這個命令返回0表示相等,返回1表示不相等。
2. 比較兩個數值是否不相等:
test $num1 -ne $num2
這個命令返回0表示不相等,返回1表示相等。
3. 比較兩個數值是否小於:
test $num1 -lt $num2
這個命令返回0表示$num1小於$num2,返回1表示$num1不小於$num2。
4. 比較兩個數值是否小於等於:
test $num1 -le $num2
這個命令返回0表示$num1小於等於$num2,返回1表示$num1大於$num2。
5. 比較兩個數值是否大於:
test $num1 -gt $num2
這個命令返回0表示$num1大於$num2,返回1表示$num1不大於$num2。
6. 比較兩個數值是否大於等於:
test $num1 -ge $num2
這個命令返回0表示$num1大於等於$num2,返回1表示$num1小於$num2。
原創文章,作者:RWNR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/134418.html