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