Linux shell中的test命令用法教程
test命令
test命令是shell環(huán)境中測試條件表達(dá)式的實用工具,下面來看看test命令的用法介紹:
語法
test(選項)
選項
- -b<文件>:如果文件為一個塊特殊文件,則為真;
- -c<文件>:如果文件為一個字符特殊文件,則為真;
- -d<文件>:如果文件為一個目錄,則為真;
- -e<文件>:如果文件存在,則為真;
- -f<文件>:如果文件為一個普通文件,則為真;
- -g<文件>:如果設(shè)置了文件的SGID位,則為真;
- -G<文件>:如果文件存在且歸該組所有,則為真;
- -k<文件>:如果設(shè)置了文件的粘著位,則為真;
- -O<文件>:如果文件存在并且歸該用戶所有,則為真;
- -p<文件>:如果文件為一個命名管道,則為真;
- -r<文件>:如果文件可讀,則為真;
- -s<文件>:如果文件的長度不為零,則為真;
- -S<文件>:如果文件為一個套接字特殊文件,則為真;
- -u<文件>:如果設(shè)置了文件的SUID位,則為真;
- -w<文件>:如果文件可寫,則為真;
- -x<文件>:如果文件可執(zhí)行,則為真。
實例
linux中shell編程中的test常見用法:
判斷表達(dá)式
if test #表達(dá)式為真 if test ! #表達(dá)式為假 test 表達(dá)式1 –a 表達(dá)式2 #兩個表達(dá)式都為真 test 表達(dá)式1 –o 表達(dá)式2 #兩個表達(dá)式有一個為真 test 表達(dá)式1 ! 表達(dá)式2 #條件求反
判斷字符串
test –n 字符串 #字符串的長度非零 test –z 字符串 #字符串的長度是否為零 test 字符串1=字符串2 #字符串是否相等,若相等返回true test 字符串1!=字符串2 #字符串是否不等,若不等反悔false
判斷整數(shù)
test 整數(shù)1 -eq 整數(shù)2 #整數(shù)相等 test 整數(shù)1 -ge 整數(shù)2 #整數(shù)1大于等于整數(shù)2 test 整數(shù)1 -gt 整數(shù)2 #整數(shù)1大于整數(shù)2 test 整數(shù)1 -le 整數(shù)2 #整數(shù)1小于等于整數(shù)2 test 整數(shù)1 -lt 整數(shù)2 #整數(shù)1小于整數(shù)2 test 整數(shù)1 -ne 整數(shù)2 #整數(shù)1不等于整數(shù)2
判斷文件
test File1 –ef File2 兩個文件是否為同一個文件,可用于硬連接。主要判斷兩個文件是否指向同一個inode。 test File1 –nt File2 判斷文件1是否比文件2新 test File1 –ot File2 判斷文件1比是否文件2舊 test –b file #文件是否塊設(shè)備文件 test –c File #文件并且是字符設(shè)備文件 test –d File #文件并且是目錄 test –e File #文件是否存在 (常用) test –f File #文件是否為正規(guī)文件 (常用) test –g File #文件是否是設(shè)置了組id test –G File #文件屬于的有效組ID test –h File #文件是否是一個符號鏈接(同-L) test –k File #文件是否設(shè)置了Sticky bit位 test –b File #文件存在并且是塊設(shè)備文件 test –L File #文件是否是一個符號鏈接(同-h) test –o File #文件的屬于有效用戶ID test –p File #文件是一個命名管道 test –r File #文件是否可讀 test –s File #文件是否是非空白文件 test –t FD #文件描述符是在一個終端打開的 test –u File #文件存在并且設(shè)置了它的set-user-id位 test –w File #文件是否存在并可寫 test –x File #文件屬否存在并可執(zhí)行
拓展
test xxx 可以簡寫成 [ xxx ] 的形式。
注意:在使用"["簡寫test時,左中括號后面的空格和右括號前面的空格是必需的,如果沒有空格,Shell不可能辨別表達(dá)式何時開始何時結(jié)束.
也就是說
test option file
可以全部改寫成:
[ option file ]
例如:
test –w File
改寫成
[ –w File ]
【示例】
//判斷第一個參數(shù)是否為空字符串,不空則打印 if test -n "$1" then echo "$1" fi
測試,放到文件當(dāng)中
#!/bin/sh if test -n "$1" then echo "$1" fi 執(zhí)行 chmod +x test.sh ./test.sh www.linuxpig.com
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對本站的支持。
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信