日期:2014-05-16  浏览次数:20786 次

求教shell学习中的一些疑惑
本人刚学习shell 看的是shell脚本学习指南,问题如下,尽情鄙视吧。

${ }与 $( )的区别 前者是参数展开,后者是命令替换。但是不是很透彻。

问一:$var 是代表的var的值,但是${} 大括号是什么意义有什么作用

引用' ' 与" " 前者强制shell将一对引号之间的所以字符都看作字面上的意义,后者允许参数展开
C/C++ code

问二:单引号与双引号嵌套时怎么确认。
a=1
echo "$a" //这个可以理解就是变量a展开
1

echo "'$a'"//这个怎么在单内展开了,而且把单引号输出了?
'1'

echo "$'a'"//这个也没有展开?
$'a'

echo "$"a""//这个怎么不展开了?
$a


例子
C/C++ code


envvar=PATH

'${'"$envvar"'}' 

//这个怎么展开

//问三:为什么不直接写  '${"$envvar"}'  
//大括号内究竟能有什么字符串 ${$ }的形式又该怎么理解





------解决方案--------------------
LZ很认真。
------解决方案--------------------
这么多复杂的情况,还真没考虑过
------解决方案--------------------
var=1
var1=2
那么$var1是2?还是12?
${var1}就明确变量含义了

${}是对变量名称的界定