博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
bash 简单算术运算(转载)
阅读量:4305 次
发布时间:2019-06-06

本文共 875 字,大约阅读时间需要 2 分钟。

Bash shell 的算术运算有四种方式:

1:使用 expr 外部程式

加法 r=`expr 4 + 5`

echo $r
注意! '4' '+' '5' 这三者之间要有空白
r=`expr 4 * 5` #错误
乘法 r=`expr 4 \* 5`

2:使用 $(( ))

r=$(( 4 + 5 ))
echo $r

3:使用 $[ ]

r=$[ 4 + 5 ]

echo $r

乘法

r=`expr 4 \* 5`
r=$(( 4 * 5 ))
r=$[ 4 * 5 ]
echo $r

除法

r=`expr 40 / 5`
r=$(( 40 / 5 ))
r=$[ 40 / 5 ]
echo $r

减法

r=`expr 40 - 5`
r=$(( 40 - 5 ))
r=$[ 40 - 5 ]
echo $r

求余数

r=$[ 100 % 43 ]
echo $r

乘幂 (如 2 的 3 次方)

r=$(( 2 ** 3 ))
r=$[ 2 ** 3 ]
echo $r
注:expr 没有乘幂

4:使用let 命令

加法:
n=10
let n=n+1
echo $n #n=11

乘法:

let m=n*10
echo $m

除法:

let r=m/10
echo $r

求余数:
let r=m%7
echo $r

乘幂:
let r=m**2
echo $r
虽然Bash shell 有四种算术运算方法,但并不是每一种都是跨平台的,建议使用expr。
另外,我们在 script 中经常有加1操作,以下四法皆可:
m=$[ m + 1]
m=`expr $m + 1`
m=$(($m + 1))
let m=m+1

 

 

 

http://www.linuxtopia.org/online_books/advanced_bash_scripting_guide/arithexp.html

 

 

转载于:https://www.cnblogs.com/diyunpeng/archive/2011/09/21/2183093.html

你可能感兴趣的文章
第一轮面试题
查看>>
2020-11-18
查看>>
Docker面试题(二)
查看>>
一、redis面试题及答案
查看>>
消息队列2
查看>>
C++ 线程同步之临界区CRITICAL_SECTION
查看>>
测试—自定义消息处理
查看>>
MFC中关于虚函数的一些问题
查看>>
根据图层名获取图层和图层序号
查看>>
规范性附录 属性值代码
查看>>
提取面狭长角
查看>>
Arcsde表空间自动增长
查看>>
Arcsde报ora-29861: 域索引标记为loading/failed/unusable错误
查看>>
记一次断电恢复ORA-01033错误
查看>>
C#修改JPG图片EXIF信息中的GPS信息
查看>>
从零开始的Docker ELK+Filebeat 6.4.0日志管理
查看>>
Sequelize的原始查询的时区问题
查看>>
How it works(1) winston3源码阅读(A)
查看>>
How it works(2) autocannon源码阅读(A)
查看>>
How it works(3) Tilestrata源码阅读(A)
查看>>