1 #!/bin/bash
2 X=abc
3 Y:=$(X)aaa
4 Z=$(X)aaa
5 X=edf
6 all:
7 @echo "X=$X"
8 @echo "Y=$Y"
9 @echo "Z=$Z"
测试结果:
X=edf
Y=abcaaa
Z=edfaaa
(1)可见 = 的作用是将X最终的值赋给Z,所以X的定义可以在Z的后面,经测试也是可以的
1 #!/bin/bash
2 Y:=$(X)aaa
3 Z=$(X)aaa
4 X=abc
5 all:
6 @echo "X=$X"
7 @echo "Y=$Y"
8 @echo "Z=$Z"
测试结果:
X=abc
Y=aaa
Z=abcaaa
( 2) := 运算符的作用是把在Y之前定义的X赋给Y,如果没有定义X则Y为aaa
从上面的测试看出,Y的值并不包含X的值。