在 Linux 的 shell 里,shell 只认识字符串,所以你就不要说整型什么的了。说值也不贴切。
先看 += 是什么意思?
因为 shell 只认识字符串,所以这里应该不难联想到 += 就是字符串连接的意思。相当于 c 语言的 strcat
举个例子:
x 本来是 U;
1 x += SB;
那么运行结果就是 x 为 USB;
接着理解 := 和 =
这个是很常用的,比 = 用得多
看下面的例子:
1 x = sb;
2
3 y = u$(x)
4
5 x = all
运行结果 x 是 all,y 是 uall
将 = 改成 :=
1 x := sb; 2 3 y := u$(x) 4 5 x := all
运行结果 x是 all,y 是 usb
怎么样?有感觉了吧。这里 = 的话算 $(x) 的时候会一直搜索到文件最后,最后再赋值。
而 := 则不会搜索后面的 x 值。也就是前面的是有效的而引用变量之后的就是无效的