溫馨提示×

shell中的test命令怎么使用

小億
108
2023-09-28 04:10:57
欄目: 編程語言

在shell中,test命令用于測試文件或表達式是否為真。它的一般語法如下:

test expression

或者可以使用方括號表示:

[ expression ]

expression是一個用于測試的表達式,可以是以下幾種類型之一:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. 數值測試:
  • num1 -eq num2:檢查兩個數是否相等

  • num1 -ne num2:檢查兩個數是否不相等

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

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

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

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

在使用test命令時,如果表達式為真,則返回0;如果表達式為假,則返回1??梢允褂?code>$?變量獲取上一個命令的返回值。

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

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

或者使用方括號表示:

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

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女