命令代换:先完成引号里或者括号里的命令行,然后将其结果替换出来,再重组成新的命令行。
Shell中可以用来实现变量代换的命令有两种,一种是由反引号括起来的一条命令另一种是由$()括起来一条命令,shell先执行这条命令,然后见输出结果立刻代换到当前命令行中。
如:
DATE='helloword'
echo $DATE
输出如下:
DATE=$(date)
echo $DATE
输出如下:
二者之间的区别:
echo 'echo'\\''
输出如下:
echo $(echo'\\')
输出如下:
原因如下:
1.反引号本身就对\进行了转移,保留了其本身的意思,如果我们想在反引号中起到\的特殊意义的话,我们必须用两个反斜杠来进行表示。
2.$()中不需要考虑\的问题,与我们平常使用的\一样