1.{}

{} :用于获取变量的值

[root@zhu1 myshell]# name=zhujiangtao
[root@zhu1 myshell]# echo ${name}
zhujiangtao

2.[]

作用1.可用于条件测试等价于test [ 表达式 ] 中括号的前后一定要有空格
作用2.可用于算术运算

[root@zhu1 myshell]# [ "$name" = "zhujiangtao" ]
[root@zhu1 myshell]# echo $?
0
[root@zhu1 myshell]# echo $[8+9]
17
[root@zhu1 myshell]# echo $[88- 9]
79
[root@zhu1 myshell]# echo $[88 *  9]
792
[root@zhu1 myshell]# echo $[88 /  9]
9

3.()

命令替换

[root@zhu1 myshell]# name=$(uname -a)
[root@zhu1 myshell]# echo $name
Linux zhu1 2.6.18-308.el5 #1 SMP Tue Feb 21 20:05:41 EST 2012 i686 i686 i386 GNU/Linux

4.[[]]

用于条件测试,支持模式匹配与通配符

[root@zhu1 myshell]# [[ 1 -eq 2 &&  3 -eq 4 ]]
[root@zhu1 myshell]# echo $?
1
[root@zhu1 myshell]# name=zhuzhu
[root@zhu1 myshell]# [ "$name" = zhu* ];echo $?
1
[root@zhu1 myshell]# [[ "$name" = zhu* ]];echo $?
0
&& ,||, 通配符, 可以在` ` 中使用,而不能在[] 中使用

5.(())

算术运算

可用于检测整数表达式的真假,本身不能作为表达式给变量赋值
let和双圆括号中可以使用算术表达式,而中括号不能
let和双圆括号操作符两边可以不留空格
[root@zhu1 myshell]# echo $((88+99))
187
[root@zhu1 myshell]# echo $((88*3))
264
[root@zhu1 myshell]# echo $((88*3-4))
260
[root@zhu1 myshell]# name=((88+99))
-bash: syntax error near unexpected token `('