如题所述
学习重在实践,自己敲一下,啥都出来了。
假设 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不是一个命令,因此会报错。
假设 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不是一个命令,因此会报错。
温馨提示:答案为网友推荐,仅供参考