Shell中反引号(`)与$()用法的区别

来源:互联网 发布:博途v14数据传送 编辑:程序博客网 时间:2024/05/21 19:27

在测试下面脚本内容时,我们发现它们的输出内容不同,这样就引发了一个问题:反引号(`)与$()用法有区别吗?

echo `echo \\\\ `echo $(echo \\\\ )

将脚本内容修法改为8个反斜杠(\):

echo `echo \\\\\\\\`echo $(echo \\\\\\\\ )

由此,我们可以得出结论:

1.反引号其本身就对\进行了转义,保留了其本身意思,如果我们想在反引号中起到\的特殊意义,我们必须使用2个\来进行表示。所以我们可以简单的想象成反引号中: \\ = \;
2. $()中则不需要考虑\的问题,与我们平常使用的一样:\ = \.

36 16