题目描述
z@z:~/www/z/test/shell$ a=11
z@z:~/www/z/test/shell$ b=22
z@z:~/www/z/test/shell$ c=$a+$b
z@z:~/www/z/test/shell$ echo $c
11+22
因shell变量默认都为字符串类型,这时变量c的值为11+22可以理解
然后问题来了,我用declare将c声明为整型,输出c值依然为11+22
z@z:~/www/z/test/shell$ declare -i c
z@z:~/www/z/test/shell$ echo $c
11+22
shell似乎并不会强制转换,但如果你再执行一次的话,是想要的结果
实际应用中不用这么麻烦的定义为整形吧,bash下