使用反撇号(重音符)`command` 和 $(command) 都表示内嵌shell命令。
for file in $(ls); do echo $file done for file in `ls`; do echo $file done
重音标记法是Unix原始语法,但容易和单引号混淆。
如果你使用Bourne Shell,那么使用重音标记法。
如果你使用的Shell支持$()标记法,那么使用$()标记法是比重音标记法更好的选择。
如果你想兼容老式的Shell,那么使用重音标记法。
$()标记法还可用于表示变量,并且更符合我们的思考方式,$意味着值引用。
xaviermavericks:~ Xavier$ test=apple xaviermavericks:~ Xavier$ echo $test apple xaviermavericks:~ Xavier$ echo $testpad xaviermavericks:~ Xavier$ echo ${test}pad applepad xaviermavericks:~ Xavier$ echo $((1+1)) 2 xaviermavericks:~ Xavier$ echo $(date) Thu Apr 24 23:50:59 CST 2014
变量:${变量}
数学表达式:$((表达式))
内嵌命令:$(命令)