shell中的$取变量操作

2025-05-23 09:33:48
推荐回答(1个)
回答(1):

1,echo $A只是输出变量的值而已,其中的转义字符(如\n)需要在双引号中才能生效
所以输出会不一样,一个是有转义字符的,一个是没有转义字符的
2,你写的两条命令是等价的,但是
echo "${te}mp"和echo "$temp"则不等价了,这既是这种参数扩展的用处

加入
te = a;
temp=b;
那么:
${te}mp=amp;
$temp=b;
所以echo "${te}mp"结果是amp
而echo $temp结果是b;
这样说能明白吗?举个例子,如果你要批量给.jpg的文件命名,如果直接使用$temp.jpg那么就会有问题,因为这时候取的是temp.jpg看成一个变量,所以就要用${temp}.jpg才是取temp变量的值