括号总结
整数表达式
运算符 | 描述 | 示例 |
---|---|---|
-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:字符串处理 |