Linux的test
命令用于進行各種條件測試,并根據測試結果執行相應的操作
數值比較:
-eq
:等于-ne
:不等于-gt
:大于-ge
:大于等于-lt
:小于-le
:小于等于字符串比較:
=
:等于!=
:不等于-z
:字符串長度為零-n
:字符串長度不為零<
:字符串小于另一個字符串>
:字符串大于另一個字符串<=
:字符串小于等于另一個字符串>=
:字符串大于等于另一個字符串文件測試:
-e
:文件存在-d
:文件是目錄-f
:文件是普通文件-r
:文件可讀-w
:文件可寫-x
:文件可執行-s
:文件大小大于零-empty
:文件為空其他測試:
-n
:變量或表達式非空-z
:變量或表達式為空-a
:邏輯與(與任何條件都為真時結果為真)-o
:邏輯或(與任何條件都為假時結果為假)-not
:邏輯非(對條件取反)示例:
# 檢查變量是否為空
if test -z "$variable"; then
echo "變量為空"
else
echo "變量非空"
fi
# 檢查文件是否存在
if test -e "file.txt"; then
echo "文件存在"
else
echo "文件不存在"
fi
# 檢查目錄是否為空
if test -s "/path/to/directory"; then
echo "目錄非空"
else
echo "目錄為空"
fi
注意:在實際使用中,可以使用方括號[]
代替test
命令進行條件測試,例如:
if [ -z "$variable" ]; then
echo "變量為空"
else
echo "變量非空"
fi