shell中的test命令怎么使用

小億
100
2023-09-28 04:10:57

在shell中,test命令用于測(cè)試文件或表達(dá)式是否為真。它的一般語(yǔ)法如下:

test expression

或者可以使用方括號(hào)表示:

[ expression ]

expression是一個(gè)用于測(cè)試的表達(dá)式,可以是以下幾種類型之一:

  1. 文件測(cè)試:
  • -e file:檢查文件是否存在

  • -f file:檢查文件是否存在且為普通文件

  • -d file:檢查文件是否存在且為目錄

  • -r file:檢查文件是否存在且可讀

  • -w file:檢查文件是否存在且可寫

  • -x file:檢查文件是否存在且可執(zhí)行

  • -s file:檢查文件是否存在且非空

  • -h file:檢查文件是否存在且為符號(hào)鏈接

  • -L file:檢查文件是否存在且為符號(hào)鏈接(與-h相同)

  • -c file:檢查文件是否存在且為字符設(shè)備文件

  • -b file:檢查文件是否存在且為塊設(shè)備文件

  • -p file:檢查文件是否存在且為命名管道

  • -S file:檢查文件是否存在且為套接字文件

  1. 字符串測(cè)試:
  • -z string:檢查字符串是否為空

  • -n string:檢查字符串是否非空

  • string1 = string2:檢查兩個(gè)字符串是否相等

  • string1 != string2:檢查兩個(gè)字符串是否不相等

  1. 數(shù)值測(cè)試:
  • num1 -eq num2:檢查兩個(gè)數(shù)是否相等

  • num1 -ne num2:檢查兩個(gè)數(shù)是否不相等

  • num1 -lt num2:檢查num1是否小于num2

  • num1 -le num2:檢查num1是否小于等于num2

  • num1 -gt num2:檢查num1是否大于num2

  • num1 -ge num2:檢查num1是否大于等于num2

在使用test命令時(shí),如果表達(dá)式為真,則返回0;如果表達(dá)式為假,則返回1。可以使用$?變量獲取上一個(gè)命令的返回值。

例如,使用test命令檢查文件是否存在:

if test -e file.txt; then
echo "文件存在"
else
echo "文件不存在"
fi

或者使用方括號(hào)表示:

if [ -e file.txt ]; then
echo "文件存在"
else
echo "文件不存在"
fi

0