Shell编程 - 括号篇
| 括号 | 用途 |
|---|---|
| ( ) | 用途1:在运算中,先计算小括号里面的内容 用途2:数组 用途3:匹配分组 |
| (( )) | 用途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:字符串处理 |
案例1. [] [[]]区别****
| 含义与特点 | test或[] | [[]]或(()) |
|---|---|---|
| 共同点 | 都可以用于判断 | 都可以用于判断 |
| 区别1 | 仅支持普通判断,不支持正则 | [[]]普通判断,支持正则 |
| 区别2 | 表示逻辑关系(与或非)符号不同 -a -o ! -gt | [[]] && || ! < > >= <= |
| 应用场景 | 大部分情况使用[]进行常见判断 | [[]]使用正则的时候使用2对中括号,(())可用于运算 |

浙公网安备 33010602011771号