分页: 1 / 1
请教一个变量运算的问题
发表于 : 2008-12-14 21:20
由 Dic4000
代码: 全选
#!/bin/bash
a=BB35;
let a+=2;
echo $a;
请问
1:变量a存储的不是数字,得到执行结果却是2,为什么呢?
如果把
换成
2:得到的结果是 BB352,两种形式的变量运算为何有这么大差异?
3:let命令应当用在哪里最好?
Re: 请教一个变量运算的问题
发表于 : 2008-12-14 22:09
由 goodluck1982
不使用 let 时,bash就把a当成一个字符串 BB35 与 字符串 2 合并,成 BB352
使用let时,bash把a当成一个整数来看待,由于其值BB35不是整数,当0处理,于是再+2不就成了2了?
Re: 请教一个变量运算的问题
发表于 : 2008-12-14 22:14
由 Dic4000
自己解决了,let是用来执行整数算术运算的,a+=2这个语句是指单纯的字符串拼接。
Re: 请教一个变量运算的问题
发表于 : 2008-12-14 22:16
由 Dic4000
goodluck1982 写了:不使用 let 时,bash就把a当成一个字符串 BB35 与 字符串 2 合并,成 BB352
使用let时,bash把a当成一个整数来看待,由于其值BB35不是整数,当0处理,于是再+2不就成了2了?
谢谢,才看到你的回复。