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