首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 更多程式設計知識

Shell 常用操作符速查:算術、關系、文件測試、字符串與擴展測試

     編輯:更多程式設計知識

算術操作符


+  -  *  /  %

使用 $((...)) 或 let 進行算術運算。

關系操作符(數值比較)

操作符含義用法示例
-eq等於[ $a -eq $b ]
-ne不等於[ $a -ne $b ]
-gt大於[ $a -gt $b ]
-lt小於[ $a -lt $b ]
-ge大於等於[ $a -ge $b ]
-le小於等於[ $a -le $b ]

邏輯組合:-a (AND)、-o (OR);雙括號內可用 && ||。

文件測試操作符

操作符含義
-d目錄
-f普通文件
-s文件大小 > 0
-r可讀
-w可寫
-x可執行
-L符號鏈接
-b塊設備
-uSUID 位設置

示例:[ -w tmp.txt ] && echo "可寫"

字符串測試操作符

操作符含義
=相等
!=不相等
-z空串
-n非空串

示例:VAR1='abc'; VAR2='123'; [ "$VAR1" = "$VAR2" ]; echo $? → 1

擴展測試符號對比

語法適用場景示例結果
[ ... ]POSIX 標準,字符串比較、文件測試[ 2 -gt 10 ] → true (錯誤! 字符串比較)
[[ ... ]]Bash/Ksh 擴展,支持模式匹配、字符串比較正確[[ 2 -gt 10 ]] → false (正確)
(( ... ))純算術評估,支持 C 風格運算符(( 2 > 10 )) → false (正確)

選型建議

  • 數值比較 → (( ... ));
  • 字符串比較、文件測試、模式匹配 → [[ ... ]];
  • 混合或需最大兼容性 → 標準 [ ... ] 並注意數值用 -eq/-gt 等。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved