简述bash shell命令行替换中单引号、双引号、倒引号的区别,以$PATH为例

问题描述:

简述bash shell命令行替换中单引号、双引号、倒引号的区别,以$PATH为例
1个回答 分类:综合 2014-10-16

问题解答:

我来补答
学习重在实践,自己敲一下,啥都出来了.
假设 PATH=/etc
1)单引号会屏蔽 $ 的取值功能.
# echo '$PATH'
$PATH
2)双引号则不会.
# echo "$PATH"
/etc
3)倒引号表示优先执行.下例即是先执行echo命令,然后将结果赋值给myPath.
# myPath=`echo $PATH`
# echo $myPath
/etc
否则
# myPath=echo $PATH
这样会报错,因为shell命令解析是根据空格“分割重组”的.先分割成myPath=echo和$PATH,然后做变量替换,$PATH被替换为/etc,最后重组变成:myPath=echo /etc.显然/etc不是一个命令,因此会报错.
 
 
展开全文阅读
剩余:2000