Linux中大括号,小括号,中括号

一、大括号

{}使用场景:

  1. 父shell域规整代码,或叫多命令集合:左大括号后必须有空格,右大括号前必须有分号 { code;}。作用域还是在父shell。
  2. 变量名的定界符。${变量名} 取变量值。
  3. 大括号扩展。echo a{1,2,3}b,即a1b a2b a3b{1..10}

一、小括号

()使用场景:

  1. 开启子shell。见Linux中父shell 与 子shell
  2. $()返回输出值子shell()中的标准输出和错误。
  3. 构造数组。a=(1 2 3),b=([0]=1 [3]=5)

(())使用场景:

  1. 计算表达式,((表达式))等价于 let 表达式 ,仍是在父shell中。表达式结果不是逻辑0或1的时候,该表达式不报错的退出状态永远是0。
  2. 上述表达式可以是整数相关的条件表达式,使得 a. (,<等不用加反斜杠;b. >,<,!=可应用于整数,并且>=,<=,==也可使用 c. 支持&&|| 表达 代替 -a ,-o

三、 中括号

[]使用场景:

  1. 代替表达式取值时的双小括号 $((表达式))等价于$[],如a=$((10/3))等价于a=$[10/3]
  2. 条件判断。[ 条件表达式 ],等价于test 条件表达式。中括号前后要有空格。条件成立,则退出状态为0,否则为1。
  3. POSIX字符集表示,tr后使用。

[[]]使用场景:

  1. 用于条件判断,使得:a. (,<等不用加反斜杠;b. 保留字符串首尾有空格时,也不需要加双引号 c. 判判断字符串相等或者不等时,右侧支持通配模式。*代表0或多个字符,?代表一个字符 d. 支持&&|| 表达 代替 -a ,-o P146
  2. POSIX字符集表示,grep,egrep,tr等命令中使用。

更多参考:
1. Linux中的括号用法
2. linux中()、[]、{}、(())、[[]]等各种括号的使用

你可能感兴趣的:(Linux,linux,运维,服务器)