unix shell 比較

UNIX Shell 編程

一些條件判斷 總結

-b file            若文件存在且是一個塊特殊文件,則爲真
-c file           
若文件存在且是一個字符特殊文件,則爲真
-d file           
若文件存在且是一個目錄,則爲真
-e file           
若文件存在,則爲真
-f file           
若文件存在且是一個規則文件,則爲真
-g file           
若文件存在且設置了SGID位的值,則爲真
-h file           
若文件存在且爲一個符合鏈接,則爲真
-k file           
若文件存在且設置了"sticky"位的值
-p file           
若文件存在且爲一已命名管道,則爲真
-r file           
若文件存在且可讀,則爲真
-s file           
若文件存在且其大小大於零,則爲真
-u file           
若文件存在且設置了SUID位,則爲真
-w file           
若文件存在且可寫,則爲真
-x file           
若文件存在且可執行,則爲真
-o file           
若文件存在且被有效用戶ID所擁有,則爲真

-z string          string長度爲0,則爲真
-n string         
string長度不爲0,則爲真
string1 = string2 
若兩個字符串相等,則爲真
string1 != string2
若兩個字符串不相等,則爲真

int1 -eq int2      int1等於int2,則爲真
int1 -ne int2     
int1不等於int2,則爲真
int1 -lt int2     
int1小於int2,則爲真
int1 -le int2     
int1小於等於int2,則爲真
int1 -gt int2     
int1大於int2,則爲真
int1 -ge int2     
int1大於等於int2,則爲真

!expr              expr爲假則複合表達式爲真。expr可以是任何有效的測試表達式
expr1 -a expr2    
expr1expr2都爲真則整式爲真
expr1 -o expr2    
expr1expr2有一個爲真則整式爲真

特殊變量

$0                 正在被執行命令的名字。對於shell腳本而言,這是被激活命令的路徑
$n                
該變量與腳本被激活時所帶的參數相對應。n是正整數,與參數位置相對應($1,$2...)
$#                
提供腳本的參數號

$*                
所有這些參數都被雙引號引住。若一個腳本接收兩個參數,$*等於$1$2
$@                
所有這些參數都分別被雙引號引住。若一個腳本接收到兩個參數,$@等價於
$1$2
$?                
前一個命令執行後的退出狀態

$$                
當前shell的進程號。對於shell腳本,這是其正在執行時的進程ID
$!                
前一個後臺命令的進程號

 

若 要用 < > <= >= 來比較數字,則判斷式需擺在 ((   )) 中,如:
(( "982" > "24" ))

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