Shell中常用的几种运算,收藏自用

一、算数运算符

常用四则运算、求余数

+	加法	
-	减法
*	乘法
/	除法
%	求余
[root@yteach ~]# a=10;b=20

1、加法 +

[root@yteach ~]# echo $((a+b+10))
40

2、减法 -

[root@yteach ~]# echo $((b-a-5))
5

3、乘法 *

[root@yteach ~]# echo $((a*b+10))
210

4、除法 /

[root@yteach ~]# echo $((b/a+1))
3

5、求余 %

[root@yteach ~]# echo $((b%a))
0

**	幂运算
++	自增
--	自减

6、幂运算

[root@yteach ~]# a=2;b=3
[root@yteach ~]# echo $((a**b))
8

7、自增运算 ++

#运算符在后面,先输出后运算
[root@yteach ~]# a=2
[root@yteach ~]# echo $((a++))
2
[root@yteach ~]# echo $a
3
#运算符在前面,先运算后输出
[root@yteach ~]# echo $((++a))
3

8、自减运算 - -

#运算符在后面,先输出后运算
[root@yteach ~]# a=2
[root@yteach ~]# echo $((a--))
2
[root@yteach ~]# echo $a
1
#运算符在前面,先运算后输出
[root@yteach ~]# echo $((--a))
1

二、算数运算命令

(())		用于整数运算,效率高,乘法不用加转义符
let			整数运算,与(())类似
expr		整数运算
bc			计算器,可以运算整数及小数
$[]			整数运算
declare		定义变量值和属性,-i参数用于定义整形变量

1、(())运算,效率高

[root@yteach ~]a=3;b=2
[root@yteach ~]# echo $((3*4+a+4/b-3%2))
16

2、let 运算

[root@yteach ~]# a=3;b=4
[root@yteach ~]# let c=$a+$b
[root@yteach ~]# echo $c
7

3、expr 使用反引号,运算符必须用空格隔开

[root@yteach ~]# a=3;b=4
echo `expr $a + $b \* 3 - 4 / 2 + 4 % 3`
14

4、 bc 计算器

[root@yteach ~]# a=3;b=4
[root@yteach ~]# echo $a+$b|bc
7
	$[]
[root@yteach ~]# a=3;b=4
[root@yteach ~]# echo $[a+b*a+4/2+4%3]
18

5、 declare -i

[root@yteach ~]# declare -i a=1;b=2
[root@yteach ~]# a=a+b
[root@yteach ~]# echo $a
3

三、比较运算

-eq		等于
-gt		大于
-lt		小于

-ge		大于等于
-le		小于等于
-ne		不等于

四、逻辑运算符

&&		与运算(and)		真真为真,真假为假,假假为假
||		或运算(or)		真真为真,真假为真,假假为假
!		非(取反)			非真为假,非假为真

1、 && 运算

[root@yteach ~][ 1 -gt 0 ] && [ 2 -le 3 ] && echo true || echo flase
true
[root@yteach ~][ 1 -le 0 ] && [ 2 -gt 1 ] && echo true || echo flase
flase
[root@yteach ~][ 1 -ge 2 ] && [ 2 -le 1 ] && echo true || echo flase
flase

2、 || 运算

[root@yteach ~][ 1 -ge 0 ] || [ 2 -gt 1 ] && echo true ||  echo flase
true
[root@yteach ~][ 1 -ne 0 ] || [ 2 -le 1 ] && echo true || echo flase
true
[root@yteach ~]# [ 1 -eq 0 ] || [ 2 -eq 1 ] && echo true || echo flase
flase

五、浮点运算

1、awk方法

[root@yteach ~]# a=$(awk 'BEGIN{print 1.23/2+3.2*2}')
[root@yteach ~]# echo $a
7.015

2、bc方法

[root@yteach ~]# b=$(echo "5.21+1.314*2-1.3"|bc)
[root@yteach ~]# echo $b
6.538

bc	计算除法时需要加入scale参数,否则结果不会保留小数点后面的数
[root@yteach ~]# a=`echo "scale=2;3.14/2"|bc`
[root@yteach ~]# echo $a
1.57
  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值