括号总结

整数表达式

运算符 描述 示例
-eq 等于 [ 1 -eq 1]
-ne 不等于 [ 1 -ne 0 ]
-gt 大于 [ 2 -gt 1 ]
-lt 小于 [ 1 -lt 2 ]
-ge 等于或大于 [ 2 -ge 1 ]
-le 小于或等于 [ 0 -le 0 ]

字符串表达式:

运算符 描述 示例
== 等于
!= 等于
> 大于判断字符串时根据 ASCII 码表顺序
< 小于,判断字符串时根据 ASCII 码表顺序
[ -n “$str” ] 字符串长度不等于 0 为真
[[ -z $str ]] 字符串长度等于 0 为真,不用双引号用[[]]标示
[ $str ] 字符串是否不为空 存在为真

文件表达式:

运算符 描述
(( )) “用途 1:表达式,不支持-eq 这类的运算符。不支持-a 和-o,支持<=、>=、<、>这类比较符和&&、||
用途 2:C 语言风格的 for(())表达式”
$( ) 执行 Shell 命令,与反撇号等效
$(( )) 用途 1:简单算数运算
用途 2:支持三目运算符 $(( 表达式?数字:数字 ))
[ ] 条件表达式,里面不支持逻辑判断符
[[ ]] 条件表达式,里面不支持-a 和-o,不支持<=和>=比较符,支持-eq、<、>这类比较符。支持=~模式匹配,也可以不用双引号也不会影响原意,比[]更加通用
$[ ] 简单算数运算
{ } 对逗号(,)和点点(…)起作用,比如 touch {1,2}创建 1 和 2 文件,touch {1..3}创建 1、2 和 3 文件
${ } 用途 1:引用变量
用途 2:字符串处理

瓦雀