中括号
[ ]和test是bash的内部命令,[[ ]]是shell的条件判断关键字。1
2
3
4
5
6$ type [
[ is a shell builtin
$ type test
test is a shell builtin
$ type [[
[[ is a shell keyword[ ]和test是等价的,用于评估条件表达式。可以使用man [或help [查阅帮助文档。1
2
3
4
5
6$ help [
[: [ arg... ]
Evaluate conditional expression.
This is a synonym for the "test" builtin, but the last argument must
be a literal `]', to match the opening `['.[[ ]]关键字可以屏蔽shell特殊符号,比如&&、||、>和<可以被认为是条件判断符而不是重定向符。[ ]中使用-a和-o表示逻辑与和逻辑或,[[ ]]中则使用&&和||。
小括号
$()用于命令替换。- 双小括号
(( )):在比较过程中使用高级数学表达式。
大括号
请阅读:All about {Curly Braces} in Bash
${}用于引用变量。与
$var相比,${var}是一种消除歧义的措施,比如:1
2
3
4
5
6
7
8
9
10
11$ var=abc
$ vartest=ABC
# $var引用变量'var'
$ echo $var
abc
# 引用变量'vartest'
$ echo $vartest
ABC
# 引用变量'var'并在其后加上'test'字符
$ echo ${var}test
abctest{}表示分组。