昨天qq群中有人问$() ${}的区别,很简单的问题,但是如果深究又一时半会儿说不明白,所以便没有理,今天正好可以整理下。

$(): 能把shell中一个命令的标准输出嵌入到原来的位置!也叫做是命令替换,与它等价的是 `` ,不是单引号键盘数字1前面那个。

${}: 则是变量展开

$[]: 则是数值计算


$() 实例:

[root@lo ~]# echo "ls"
ls
[root@lo ~]# echo "$(ls)"
anaconda-ks.cfg
bak
deploydubbo.sh
start.sh

可以看出$()是将ls的输出嵌入到了echo 中,相当于第二句执行的是 

echo "anaconda-ks.cfg bak deploydubbo.sh start.sh"


${}变量 a=b ; echo ${a} 

输出b


$[] 数值计算:

echo $[ 99*4 ]
396