本人Linux新手一枚,所以对$()和``的用法有点困惑,很多文章说这两是一样的

但测试下来还是有不同地方

个人认为$()逻辑层次比较清晰

``和$()在转义字符\的使用上有很大不一样

例如:

echo $(echo \\\\\\$SHELL)

结果会显示:\\\/bin/bash

但,echo `echo \\\\\\$SHELL`

结果会显示:\/bin/bash    

原因个人觉得:``里的一个\不能算转义字符,而是要两个成为一组时才能合并成一个转义字符来看待,

echo `echo \$SHELL`的结果和echo `echo $SHELL`一样,都是/bin/bash

这些通过

echo `echo \\\\\\\\$SHELL` 等同于4个转义字符,结果是\\/bin/bash,这个结果和echo $(echo \\\\$SHELL)是一样的,在$(),一个\等于一个转义字符

如有疏漏或错误,请各位大侠指出不足之处,谢谢