在测试下面脚本内容时,我们发现它们的输出内容不同,这样就引发了一个问题:反引号(`)与$()用法有区别吗?
echo `echo \\\\ `
echo $(echo \\\\ )
将脚本内容修法改为8个反斜杠(\):
echo `echo \\\\\\\\`
echo $(echo \\\\\\\\ )
由此,我们可以得出结论:
1.反引号其本身就对\进行了转义,保留了其本身意思,如果我们想在反引号中起到\的特殊意义,我们必须使用2个\来进行表示。所以我们可以简单的想象成反引号中: \\ = \;
2. $()中则不需要考虑\的问题,与我们平常使用的一样:\ = \.