在bash里进行数学运算
KeyShortCuts
- o - login/logout
- e - edit
- h - histories
- v - recently views
- m - recently modifies
- w - go home
- [ - go to previous
- ] - go to next
- u - lock/unlock
- c - passwd
- Accesskey(s) - save
- AccessKey(c) - discard
在bash里进行使用运算表达式的方式很多,也很简单,看例子即可:
- 把65的平方赋值给index变量
- ((index=65*65))
- let index=65*65
- index=`expr 65 \* 65`
- 对index进行递增
- ((index++))
- let index++
第一个例子里,用到了三种不同的方法,效果是一样的。需要注意的是第三种方法。该方法结合了expr命令和执行操作符`。expr的作用是对后面的运算表达式计算,然后把结果输出,而`用来获得输出,返回给index。在expr后的表达式里,各个部分必须用空格分开,一些特殊字符,例如乘号*必须在前面加个反斜杠转义。
用expr不能直接进行对变量的自增操作,所以在第二个例子里,我没有用到expr这种方式。
let和(())的作用基本一样,唯一的不同是,let后面的运算表达式各个部分不能有空格隔离开,这个和expr正好相反。而(())里面的运算表达式,空格是无关紧要的,存在与否都不会对运算有影响。
bash里的算术表达式有如下操作符:
- +
减,加
! ~
逻辑否,反位操作
* / %
乘,除,取模
+ -
addition, subtraction
<< >>
left and right bitwise shifts
<= >= < >
comparison
== !=
equality and inequality
&
bitwise AND
^
bitwise exclusive OR
|
位操作或
&&
逻辑与
||
逻辑或
= *= /= %= += -= <<= >>= &= ^= |=
赋值
没有评论:
发表评论