linux-test測試

  test 測試

三種基本格式

test -f file -a -d folder && echo 1|| echo 0

[ -f file -a -d folder ] && echo 1|| echo 0

[[ -f file && -d folder]]&&echo 1 || echo 0  註釋:該種格式-a ,-o對應 &&和||

#以上三種格式都是測試file文件,和folder目錄是否同時存在,存在返回1,否則返回0

判斷文件選項:

-b<文件>:如果文件爲一個塊特殊文件,則爲真;

-c<文件>:如果文件爲一個字符特殊文件,則爲真;

-d<文件>:如果文件爲一個目錄,則爲真;

-e<文件>:如果文件存在,則爲真;

-f<文件>:如果文件爲一個普通文件,則爲真;

-g<文件>:如果設置了文件的SGID位,則爲真;

-G<文件>:如果文件存在且歸該組所有,則爲真;

-k<文件>:如果設置了文件的粘着位,則爲真;

-O<文件>:如果文件存在並且歸該用戶所有,則爲真;

-p<文件>:如果文件爲一個命名管道,則爲真;

-r<文件>:如果文件可讀,則爲真;

-s<文件>:如果文件的長度不爲零,則爲真;

-S<文件>:如果文件爲一個套接字特殊文件,則爲真;

-u<文件>:如果設置了文件的SUID位,則爲真;

-w<文件>:如果文件可寫,則爲真;

-x<文件>:如果文件可執行,則爲真。 (選項區分大小寫)
文件比較:

test File1 –ef File2 兩個文件是否爲同一個文件,

test File1 –nt File2 判斷文件1是否比文件2

test File1 –ot File2 判斷文件1比是否文件2

判斷整數

test 整數1 -eq整數2 #整數相等

test 整數1 -ge整數2 #整數1大於等於整數2

test 整數1 -gt整數2 #整數1大於整數2

test 整數1 -le整數2 #整數1小於等於整數2

test 整數1 -lt整數2 #整數1小於整數2

test 整數1 -ne整數2 #整數1不等於整數2

判斷字符串

test –n 字符串#字符串的長度非零

test –z 字符串#字符串的長度是否爲零

test 字符串1=字符串2 #字符串是否相等,若相等返回true

test 字符串1!=字符串2 #字符串是否不等,若不等反悔false   

#對於以上的操作符號,,字符串在測試中,需要用[ -n "$a" ],字符串a需要用""  

 

多重條件判斷

-a #兩個條件同時成立則返回trueegtest -f -a -d folder &&echo1||echo 0

-o #兩個條件任意成立,則返回true,eg: test -f -o -dfolder &&echo 1||echo 0

#相反狀態;eg:test ! -f file && echo 1||echo 0,file不爲普通文件,echo 1,else echo 0

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章