在C语言中,偶尔能看到变量赋值如下:
x1 = x2 = 1;
这表达的意思是变量x1等于变量x2等于2,执行结果相当于:
x1 = 1;
x2 = 1;
但在shell脚本中赋值,意思则不同,如果命令行下x1 = x2 = 1 ,则表达的意思是变量x1等于x2 = 1,其中x2 = 1这是一个字符串整体,并没有x2变量,测试如下:
xxxxxx@STB-240:~$ Test1=Test2=1
xxxxxx@STB-240:~$
xxxxxx@STB-240:~$ echo $Test1
Test2=1
xxxxxx@STB-240:~$ echo $Test2
xxxxxx@STB-240:~$
xxxxxx@STB-240:~$
注意:shell下,只有第一个等号前的值才是变量,后面都是变量的值。