shell中的数学运算

shell中的数学运算


运算符号:

+,- 加减
*,/,% 乘,除,取余
** 幂运算
++,-- 自增 自减
<,<=,>,>= 比较符号(逻辑运算,通过比较得到真假逻辑结果)
=,+=,-=,*=,/=,%= 赋值运算

a=1+1 默认会被shell识别为可变长字符,而不是整型数的运算
因此,下面是shell中的常用的运算命令

常用的运算命令:

(( )) 用于整数运算
let 用于整数运算,与(( ))类似
expr 用于整数运算,功能相对较多
bc 计算器,好处是可以计算小数(而前面的那些运算只能运算整数)
$[ ] 整数运算  等同于(( )) (内部写入要进行的运算,该运算符内部才会被识别为整型数据运算)
$( ) 执行动作  等同于` `
${ } 声明变量

四则运算的复合赋值符号:

((J+=I))
((J-=I))
((J*=I))
((J/=I))

示例:

a=1+1
echo $a

((a=1+1))
echo $a

a=$[1+1]
echo $a

a=$(date)
echo $a

c=1
a=${c}b
echo $a

let a=1+1
echo $a

expr 1 + 1 运算符两边必须有空格
echo`expr 1 + 1`

bc
	1+1
	3+4
	ctrl+c 打断bc命令并退出

bc <<EOF
1.1+2.3
EOF

下图为例:
图一为以上运算命令的执行效果演示
图二,三,四为自增自减运算,以及加减乘除的复合赋值运算的执行结果。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
简单应用示例:

1分10秒的倒计时

#!/bin/bash
SEC=10
MIN=1
ALL_TIME=$[60*$MIN+$SEC]
forr  ((;ALL_TIME>0;ALL_TIME--))
do
	SEC=$[ALL_TIME%60]
	MIN=$[$ALL_TIME/60]
	echo -ne "After $MIN:$SEC is end"
	echo -ne "\r"
	sleep 1
done
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值