求教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}就明确变量含义了
${}是对变量名称的界定