您的位置:首页 > 运维架构 > Shell

Bash Shell let命令

2013-12-29 10:36 232 查看
整数运算一般通过 let 和 expr 这两个指令来实现,如对变量
x 加 1 可以写作:let "x = $x + 1" 或者 x=`expr $x + 1‘,个人感觉,二者差不多,前者表达比较简单,择优用之

 

在bash中,let可以用来做数值运算

bash-2.05b$ export n=20

bash-2.05b$ n=n+1

bash-2.05b$ echo $n

n+1

n+1并没有按照数字处理,而是安装字符串串连处理

这时候如果想实现n按照数值进行相加,则就需要let出手了

bash-2.05b$ export n=20

bash-2.05b$ let n+=1

bash-2.05b$ echo $n

 

在Bash Shell中,只能进行两个整数间的运算,其结果仍为整数.要进行算术

运算,需要使用let命令,语法为:

let expr

expr是一个包含项和操作符的表达式,项可以是一个变量或是一个整数常数,

当使用整数常数时,其默认为十进制整数,用户可以用radio#number来指定其它

形式的整数,其中radio定义了整数是几进制表示的,number是该整数的值.若

radio>10,那么数字字符可从0-9和A-Z.

在表达式中支持的操作符及其含义为:

+,-,*,/,% 加,减,乘,除,取模

>>,<<,&,^,| 左移,右移,位与,位异或,位或

?: 三元运算符.与C语言中的定义一致

~ 取补码

!,>=,<=,>,<,==,!=,&&,||

=,+=,-=,*=,/=,%=,<<=,>>=,&=,^=,|=

表达式式中也可以使用括号.括号或运算优先级的定义与一般计算机语言中的

相同.

let命令具有返回值.当计算结果(若有多个表达式时,以最后一个为准)为0时,

返回值为1,否则为0.

当表达式中含有shell的特殊字符(如|)时,需要用引用符('或")将其引用起来.

使用let时还需要注意的时,对于let x+y这样的式子,shell虽然计算了x+y的值

但却将结果丢弃,若不想这样,可以使用let sum=x+y将x+y的结果保存在变量sum中

另外还可以使用((和))操作符取代let命令,而且这样的话,还可以省去对算术

表达式的引用,如果想返回表达式的值,则需用$(())的格式.

if的条件中,“=”用于比较字符串;“-eq”用于比较整型数。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: