1. 程式人生 > >shell test條件判斷

shell test條件判斷

strong 終端 light 目錄 存在 符號 文件描述 -c 描述

test 條件判斷

# 符號 [ ] 等同 test命令

test 10 -lt 5       # 判斷大小
echo $?             # 查看上句test命令返回狀態  # 結果0為真,1為假
test -n "hello"     # 判斷字符串長度是否為0
[ $? -eq 0 ] && echo "success" || exit   # 判斷成功提示,失敗則退出

expression為字符串操作

-n str   # 字符串str是否不為空
-z str   # 字符串str是否為空

  expression 為文件操作

-a     # 並且,兩條件為真
-b     # 是否塊文件     
-p     # 文件是否為一個命名管道
-c     # 是否字符文件   
-r     # 文件是否可讀
-d     # 是否一個目錄   
-s     # 文件的長度是否不為零
-e     # 文件是否存在   
-S     # 是否為套接字文件
-f     # 是否普通文件   
-x     # 文件是否可執行,則為真
-g     # 是否設置了文件的 SGID 位 
-u     # 是否設置了文件的 SUID 位
-G     # 文件是否存在且歸該組所有 
-w     # 文件是否可寫,則為真
-k     # 文件是否設置了的粘貼位  
-t fd  # fd 是否是個和終端相連的打開的文件描述符(fd 默認為 1)
-o     # 或,一個條件為真
-O     # 文件是否存在且歸該用戶所有
!      # 取反

  expression 為整數操作

expr1 -a expr2   # 如果 expr1 和 expr2 評估為真,則為真
expr1 -o expr2   # 如果 expr1 或 expr2 評估為真,則為真

  兩值比較

整數     字符串
-lt      <         # 小於
-gt      >         # 大於
-le      <=        # 小於或等於
-ge      >=        # 大於或等於
-eq      ==        # 等於
-ne      !=        # 不等於

shell test條件判斷