Shell腳本條件判斷

一、字符串判斷shell

str1 = str2      當兩個串有相同內容、長度時爲真
str1 != str2      當串str1和str2不等時爲真
-n str1        當串的長度大於0時爲真(串非空)
-z str1        當串的長度爲0時爲真(空串)
str1           當串str1爲非空時爲真字符串

二、數字的判斷it

int1 -eq int2    兩數相等爲真
int1 -ne int2    兩數不等爲真
int1 -gt int2    int1大於int2爲真
int1 -ge int2    int1大於等於int2爲真
int1 -lt int2    int1小於int2爲真
int1 -le int2    int1小於等於int2爲真ast

三、文件的判斷sed

-r file     用戶可讀爲真
-w file     用戶可寫爲真
-x file     用戶可執行爲真
-f file     文件爲正規文件爲真
-d file     文件爲目錄爲真
-c file     文件爲字符特殊文件爲真
-b file     文件爲塊特殊文件爲真
-s file     文件大小非0時爲真
-t file     當文件描述符(默認爲1)指定的設備爲終端時爲真file

四、複雜邏輯判斷終端

-a         與
-o        或
!        非call

=====================================================================sort

附 表:文件

[ -a FILE ]  若是 FILE 存在則爲真。  [ -b FILE ]  若是 FILE 存在且是一個塊特殊文件則爲真。  [ -c FILE ]  若是 FILE 存在且是一個字特殊文件則爲真。  [ -d FILE ]  若是 FILE 存在且是一個目錄則爲真。  [ -e FILE ]  若是 FILE 存在則爲真。  [ -f FILE ]  若是 FILE 存在且是一個普通文件則爲真。  [ -g FILE ] 若是 FILE 存在且已經設置了SGID則爲真。 [ -h FILE ]  若是 FILE 存在且是一個符號鏈接則爲真。  [ -k FILE ]  若是 FILE 存在且已經設置了粘制位則爲真。  [ -p FILE ]  若是 FILE 存在且是一個名字管道(F若是O)則爲真。  [ -r FILE ]  若是 FILE 存在且是可讀的則爲真。  [ -s FILE ]  若是 FILE 存在且大小不爲0則爲真。  [ -t FD ]  若是文件描述符 FD 打開且指向一個終端則爲真。  [ -u FILE ]  若是 FILE 存在且設置了SUID (set user ID)則爲真。  [ -w FILE ]  若是 FILE 若是 FILE 存在且是可寫的則爲真。  [ -x FILE ]  若是 FILE 存在且是可執行的則爲真。  [ -O FILE ]  若是 FILE 存在且屬有效用戶ID則爲真。  [ -G FILE ]  若是 FILE 存在且屬有效用戶組則爲真。  [ -L FILE ]  若是 FILE 存在且是一個符號鏈接則爲真。  [ -N FILE ]  若是 FILE 存在 and has been mod若是ied since it was last read則爲真。  [ -S FILE ]  若是 FILE 存在且是一個套接字則爲真。  [ FILE1 -nt FILE2 ]  若是 FILE1 has been changed more recently than FILE2, or 若是 FILE1 exists and FILE2 does not則爲真。  [ FILE1 -ot FILE2 ]  若是 FILE1 比 FILE2 要老, 或者 FILE2 存在且 FILE1 不存在則爲真。  [ FILE1 -ef FILE2 ]  若是 FILE1 和 FILE2 指向相同的設備和節點號則爲真。  [ -o OPTIONNAME ]  若是 shell選項 「OPTIONNAME」 開啓則爲真。  [ -z STRING ]  「STRING」 的長度爲零則爲真。  [ -n STRING ] or [ STRING ]  「STRING」 的長度爲非零 non-zero則爲真。  [ STRING1 == STRING2 ]  若是2個字符串相同。 「=」 may be used instead of 「==」 for strict POSIX compliance則爲真。  [ STRING1 != STRING2 ]  若是字符串不相等則爲真。 [ STRING1 < STRING2 ]  若是 「STRING1」 sorts before 「STRING2」 lexicographically in the current locale則爲真。  [ STRING1 > STRING2 ]  若是 「STRING1」 sorts after 「STRING2」 lexicographically in the current locale則爲真。  

相關文章
相關標籤/搜索