小括号:()
从新打开一个子shell进行执行,也就是此括号里的修改的变量只能在括号里有效,而大括号是在同一个shell里执行,大括号里修改的变量,对整个shell里都有效。
如:
var=test
( var=test2 ; echo $var )
echo $var
输出结果为
test2
test
大括号:{}
var=test
{ var=test2 ; echo $var; }
echo $var
输出结果为
test2
test2
大括号另一种用法:{,.}
cp /etc/file.conf{,.bak}
等价于
cp /etc/file.conf /etc/file.conf.bak
echo {1,2,3}.txt
输出结果为
1.txt 2.txt 3.txt
以上需要注意是,大括号每个语句之后都必需有分号(包括最后一个语句);大括号左侧{必需有一个空格。小括号作用还与``一样,如echo $(ls)
双小括号:(())
一般用于整数变量计算,如$((var++num))或$((var--num))或$((num--var))或$((num++var))
中括号:[]
一般用于if等判断语句,如if [ var1 -eq var2 ]或if [ "var1" == "var2" ]
双中括号:[[]]
和中括号区别在于,支持通匹符,如if [[ $var == r* ]]
大括号:{}
常用于为显示的变量添加字符,如echo ${var}.sh