Bash 中 "" 和 `` 嵌套的问题
如何理解以下两句 Bash 脚本?执行结果都是一样的,输出了 date 命令输出中的第二个域,为三月份
echo "`date | awk '{print \$2}'`" Mar echo "`date | awk '{print $2}'`" Mar
对于以下脚本,在 " " 中保留了 ` ` 和 $ 的特殊含义,下面脚本中取消了 $ 元字符特殊含义,bash 在实行时不做变量替换, awk 识别到的仅仅是 {print $2},awk在执行时才执行变量替换命令
echo "`date | awk '{print \$2}'`"
对于以下脚本,未取消 $ 的特殊含义,bash程序在执行过程中做变量替换,相当于 awk 直接获得到了 {print "Mar"}
echo "`date | awk '{print $2}'`"
以上两个脚本仅仅是变量替换时间不同而已,所以结果一样。
种一棵树最好的时间是十年前,其次是现在。