shell學習6

NO IMAGE

#Shell test 命令
#Shell中的 test 命令用於檢查某個條件是否成立,它可以進行數值、字元和檔案三個方面的測試。

#數值測試
#引數 說明
# -eq 等於則為真
# -ne 不等於則為真
# -gt 大於則為真
# -ge 大於等於則為真
# -lt 小於則為真
# -le 小於等於則為真

#!/bin/bash

num1=100
num2=200
if test ${num1} -eq ${num2}
then
   echo ${num1}”和”${num2}”相等”
else
   echo ${num1}”和”${num2}”不相等”
fi

##程式碼中的 [] 執行基本的算數運算,如:
a=5
b=6

result=$[a b]              # 注意等號兩邊不能有空格
echo “result 為: $result”

##字串判斷
# = 等於則為真
# != 不相等則為真
# -z 字串 字串的長度為零則為真
# -n 字串 字串的長度不為零則為真

str1=”hello”
str2=”world”
if test ${str1} = ${str2}
then
   echo ${str1}”和”${str2}”相等”
else
   echo ${str1}”和”${str2}”不相等”
fi

#檔案測試
#引數 說明
# -e 檔名 如果檔案存在則為真
# -r 檔名 如果檔案存在且可讀則為真
# -w 檔名 如果檔案存在且可寫則為真
# -x 檔名 如果檔案存在且可執行則為真
# -s 檔名 如果檔案存在且至少有一個字元則為真
# -d 檔名 如果檔案存在且為目錄則為真
# -f 檔名 如果檔案存在且為普通檔案則為真
# -c 檔名 如果檔案存在且為字元型特殊檔案則為真
# -b 檔名 如果檔案存在且為塊特殊檔案則為真
dire=”./etc”
if test -e ${dire}
then 
   echo ${dire}”存在”
else
   echo ${dire}”不存在”
fi

##另外,Shell還提供了與( -a )、或( -o )、非( ! )三個邏輯操作符用於將測試條件連線起來,其優先順序為:”!”最高,”-a”次之,”-o”最低。例如:

dire1=”./bash1″
dire2=”./bash2″
if test -e ${dire1} -o -e ${dire2}
then
   echo ${dire1}”或”${dire2}”至少有一個存在”
else
   echo ${dire1}”或”${dire2}”都不存在”
fi