Shell測試(test)命令

格式

格式一:

test expression

格式二:

[ expression ]    //?? 注意左方括號后及右方括號前有一個[空格]

說明

test是linux系統(tǒng)內(nèi)置(builtin)的命令,用于評估表達式(expression)參數(shù)(parameter),
表達式expression的參數(shù)值(argument)包括:
文件測試參數(shù),字符串測試參數(shù),數(shù)字測試參數(shù),參數(shù)組合運算符,退出狀態(tài)碼參數(shù)
多個測試語句之間可以使用邏輯運算符(!, &&, ||)連接, 優(yōu)先級: ! > && > ||

文件測試參數(shù)

操作符 描述
-b file 如果file是文件并且是特殊塊文件驶鹉,則返回true</div>
-c file 如果file是字符文件蹋凝,則返回true
-d file 如果file存在且是目錄鸣驱,則返回true
-a/-e file 如果file存在,則返回true
-f file 如果file存在且是常規(guī)文件莲兢,則返回true
-g file 如果file的GroupId已設(shè)置阎姥,則返回true
-h/-L file 如果file是一個符號鏈接著恩,則返回true
-k file 如果file文件存在且粘滯位已設(shè)置煌贴,則返回true
-p file 如果file是命名管道(FIFO),則返回true
-r file 如果file文件存在且可讀说榆,則返回true
-s file 如果file文件大小不為零虚吟,則返回true
-t file 如果file已打開并與終端關(guān)聯(lián),則返回true
-u file 如果file的UserId已設(shè)置娱俺,則返回true
-w file 如果file文件存在且可寫稍味,則返回true
-x file 如果file文件存在且可執(zhí)行,則返回true
file1 -ot file2 如果file1比file2舊荠卷,則返回true
file1 -nt file2 如果file1比file2新模庐,則返回true
file1 -ef file2 如果file1是file2的符號鏈接或硬鏈接,則返回true

字符串測試參數(shù)

操作符 描述
-n string 如果字符串長度非零油宜,則返回true
-z string 如果字符長度為零掂碱,則返回true
string1 = string2 如果兩個字符相同,則返回true
string1 != string2 如果兩個字符不相同慎冤,則返回true
string 如果字符非空疼燥,則返回true

數(shù)值比較測試參數(shù)

操作符 描述
num1 -eq num2 如果連個數(shù)值相等,則返回true
num1 -ne num2 如果連個數(shù)值不等蚁堤,則返回true
num1 -gt num2 如果num1大于num2醉者,則返回true
num1 -ge num2 如果num1大于或等于num2,則返回true
num1 -lt num2 如果num1小于num2披诗,則返回true
num1 -le num2 如果num1小于或等于num2撬即,則返回true

組合運算符參數(shù)(用于單個或多個測試)

操作符 描述
!expression 一元否定運算符
expression1 -a expression2 二元與運算符
expression1 -o expression2 二元或運算符
\ (Expression\) 必須使用反斜杠轉(zhuǎn)義分組括號

例1:

if test ! -s "$1"
then
    echo $1 does not exist or is empty.
fi

例2:

if [ $# -lt 2 -o ! -e "$1" ]
then
    exit
fi

退出碼參數(shù)

操作符 描述
0 返回true
1 返回false
>1 發(fā)生錯誤
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市呈队,隨后出現(xiàn)的幾起案子剥槐,更是在濱河造成了極大的恐慌,老刑警劉巖宪摧,帶你破解...
    沈念sama閱讀 221,406評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件粒竖,死亡現(xiàn)場離奇詭異颅崩,居然都是意外死亡,警方通過查閱死者的電腦和手機蕊苗,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,395評論 3 398
  • 文/潘曉璐 我一進店門沿后,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人岁歉,你說我怎么就攤上這事得运∠ヲ冢” “怎么了锅移?”我有些...
    開封第一講書人閱讀 167,815評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長饱搏。 經(jīng)常有香客問我非剃,道長,這世上最難降的妖魔是什么推沸? 我笑而不...
    開封第一講書人閱讀 59,537評論 1 296
  • 正文 為了忘掉前任备绽,我火速辦了婚禮,結(jié)果婚禮上鬓催,老公的妹妹穿的比我還像新娘肺素。我一直安慰自己,他們只是感情好宇驾,可當(dāng)我...
    茶點故事閱讀 68,536評論 6 397
  • 文/花漫 我一把揭開白布倍靡。 她就那樣靜靜地躺著,像睡著了一般课舍。 火紅的嫁衣襯著肌膚如雪塌西。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,184評論 1 308
  • 那天筝尾,我揣著相機與錄音捡需,去河邊找鬼。 笑死筹淫,一個胖子當(dāng)著我的面吹牛站辉,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播损姜,決...
    沈念sama閱讀 40,776評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼饰剥,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了薛匪?” 一聲冷哼從身側(cè)響起捐川,我...
    開封第一講書人閱讀 39,668評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎逸尖,沒想到半個月后古沥,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體瘸右,經(jīng)...
    沈念sama閱讀 46,212評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,299評論 3 340
  • 正文 我和宋清朗相戀三年岩齿,在試婚紗的時候發(fā)現(xiàn)自己被綠了太颤。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,438評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡盹沈,死狀恐怖龄章,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情乞封,我是刑警寧澤做裙,帶...
    沈念sama閱讀 36,128評論 5 349
  • 正文 年R本政府宣布,位于F島的核電站肃晚,受9級特大地震影響锚贱,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜关串,卻給世界環(huán)境...
    茶點故事閱讀 41,807評論 3 333
  • 文/蒙蒙 一拧廊、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧晋修,春花似錦吧碾、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,279評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至趴拧,卻和暖如春溅漾,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背著榴。 一陣腳步聲響...
    開封第一講書人閱讀 33,395評論 1 272
  • 我被黑心中介騙來泰國打工添履, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人脑又。 一個月前我還...
    沈念sama閱讀 48,827評論 3 376
  • 正文 我出身青樓暮胧,卻偏偏與公主長得像,于是被迫代替她去往敵國和親问麸。 傳聞我的和親對象是個殘疾皇子往衷,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,446評論 2 359

推薦閱讀更多精彩內(nèi)容