溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Linux系統(tǒng)中的Shell test 命令小蠻腰

發(fā)布時間:2022-01-24 14:10:03 來源:億速云 閱讀:159 作者:柒染 欄目:開發(fā)技術(shù)

Linux系統(tǒng)中的Shell test 命令小蠻腰,相信很多沒有經(jīng)驗(yàn)的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

test是Shell中檢查某個特定條件是否成立的命令,test可以對數(shù)值、字符和文件三個方面進(jìn)行測試。

數(shù)值測試

參數(shù)說明
-eq等于則為真
-ne不等于則為真
-gt大于則為真
-ge大于等于則為真
-lt小于則為真
-le小于等于則為真

實(shí)例

num1=100
num2=100
if test $[num1] -eq $[num2] then
echo ‘兩個數(shù)相等!’
else
echo ‘兩個數(shù)不相等!’
fi

輸出結(jié)果:

兩個數(shù)相等!

代碼中的 [] 執(zhí)行基本的算數(shù)運(yùn)算,如:

實(shí)例

#!/bin/bash

a=5
b=6

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

結(jié)果為:

result 為: 11

字符串測試

參數(shù)說明
=等于則為真
!=不相等則為真
-z 字符串字符串的長度為零則為真
-n 字符串字符串的長度不為零則為真

實(shí)例

num1=”ru1noob”
num2=”runoob”
if test $num1 = $num2
then
echo ‘兩個字符串相等!’
else
echo ‘兩個字符串不相等!’
fi

輸出結(jié)果:

兩個字符串不相等!

文件測試

參數(shù)說明
-e 文件名如果文件存在則為真
-r 文件名如果文件存在且可讀則為真
-w 文件名如果文件存在且可寫則為真
-x 文件名如果文件存在且可執(zhí)行則為真
-s 文件名如果文件存在且至少有一個字符則為真
-d 文件名如果文件存在且為目錄則為真
-f 文件名如果文件存在且為普通文件則為真
-c 文件名如果文件存在且為字符型特殊文件則為真
-b 文件名如果文件存在且為塊特殊文件則為真

實(shí)例

cd /bin
if test -e ./bash
then
echo ‘文件已存在!’
else
echo ‘文件不存在!’
fi

輸出結(jié)果:

文件已存在!

另外,Shell 還提供了與( -a )、或( -o )、非( ! )三個邏輯操作符用于將測試條件連接起來,其優(yōu)先級為: ! 最高, -a 次之, -o 最低。例如:

實(shí)例

cd /bin
if test -e ./notFile -o -e ./bash
then
echo ‘至少有一個文件存在!’
else
echo ‘兩個文件都不存在’
fi

輸出結(jié)果:

至少有一個文件存在!

看完上述內(nèi)容,你們掌握Linux系統(tǒng)中的Shell test 命令小蠻腰的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注億速云行業(yè)資訊頻道,感謝各位的閱讀!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI