找回密码
 注册
搜索

9. 表达式求值

已有 79 次阅读2014-1-31 22:38 |个人分类:SHELL编程| 表达式, shell编程

首先来看一个例子:

$ num=1
$ num=$num+2
$ echo $sum
1+2

为什么结果不是3?原因很简单,Shell脚本语言是一种“弱类型语言”,它并不知道变量num中保存的是一个数值,因此在遇到num=$num+2这个命令时,Shell只是简单地把$num和“+2”连在一起作为新的值赋给变量num(在这方面,其他脚本语言----例如PHP似乎表现得更聪明一些)。为了让Shell得到“正确”的结果,可以试试下面的这条命令。

$ num=$[ $num + 1 ]

$[ ]这种表示形式告诉Shell应该对其中的表达式求值。如果你对这条命令不太容易能看清楚的话,那么不妨对比一下这两条命令的输出。

$ num1=1+2
$ num2=$[ 1 + 2 ]
$ echo $num1 $num2
1+2 3


路过

雷人

握手

鲜花

鸡蛋

评论 (0 个评论)

facelist

您需要登录后才可以评论 登录 | 注册

Archiver|手机版|小黑屋|52RD我爱研发网 ( 沪ICP备2022007804号-2 )

GMT+8, 2024-11-24 06:26 , Processed in 0.029009 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2023 Discuz! Team.

返回顶部