shell脚本变量赋值与C语言变量赋值差异

本文揭示了C语言中连续赋值与Shell脚本中不同赋值行为:C里x1=x2=1等同于两个独立赋值,而在Shell中x1=x2=1意味着x1接收整个字符串。理解这种差异有助于避免混淆并提高Shell脚本的执行效率。
摘要由CSDN通过智能技术生成

在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下,只有第一个等号前的值才是变量,后面都是变量的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值