1.倒引号
倒引号括起来的字符串被shell解释为命令行,在执行时,Shell会先执行该命令行,并以它的标准输出结果取代整个倒引号部分。
例如:
“echo current directory is pwd
”
“ current directory is /home/lichao/bite/shell”
2.$()
()中放的是命令,相当于‘‘,例如todaydate=
(date +%Y%m%d)意思是执行date命令,返回执行结果给变量todaydate,也可以写为todaydate=date +%Y%m%d
例如:
“echo current directory is $(pwd)”
“current directory is /home/lichao/bite/shell”
3.eval
eval只是一个普通的函数,只不过他有一个快速通道通向编译器,可以将string变成可执行的代码。有类似功能的还有Function ,
shell中的eval命令将会首先扫描命令行进行所有的替换,然后再执行命令。该命令使用于那些一次扫描无法实现其功能的变量。该命令对变量进行两次扫描。这些需要进行两次扫描的变量有时候被称为复杂变量。
可参考:http://blog.csdn.net/w_ww_w/article/details/7075867
http://www.2cto.com/os/201211/165971.html
倒引号和 区别:我们可以看到上述两种方式显示出来的结果都一样,但是这样不能说明倒引号和 ()完全相同倒引号内不能再引用倒引号,而 ()中可以引用倒引号