语法
方法一 expr $num1 operator $num2
方法二 $(($num1 operator $num2))
expr操作符对照表
操作符 含义
num1 | num2 num1不为空且非0,返回num1;否则返回num2
num1 & num2 num1不为空且非0,返回num1;否者返回0
num1 < num2 num1小于num2,返回1;否则返回0
num1 <= num2 num1小于等于num2,返回1;否则返回0
num1 = num2 num1等于num2,返回1;否则返回0
num1 != num2 num1不等于num2,返回1;否则返回0
num1 > num2 num1 大于num2,返回1;否则返回0
num1 >= num2 num1大于等于num2,返回1;否则返回0
num1 + num2 求和
num1 - num2 求差
num1 / num2 求商
num1 % num2 求余
num1 * num2 求积
代码演示: 符号属于特殊字符 使用的时候需要转译 使用$(( ))不需要转译 $(( ))不能进行比较运算
~$ num1=30
~$ num2=50
~$ expr $num1 \| $num2
30
bc介绍
bc是bash中内建的运算器,支持浮点数运算
内建变量scale可以设置,默认是0
bc操作符对照表
操作符 含义
num1 % num2 求余
num1 ^ num2 指数运算
bc属于内置程序 输入命令bc可以查看bc的版本
~$ which bc
/usr/bin/bc
~$ bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
bc的第一种使用方式
bc
bc 1.07.1
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006, 2008, 2012-2017 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
23 + 5
28
23 / 5 #默认精度为0
4
scale =2 #设置精度
23 / 5
4.60
scale=6 #设置精度
23 / 5
4.600000
第二种方式在脚本中如何使用bc
# 通过管道输出给bc
~$ echo "23 + 35" | bc
58
# 通过小数点进行相加
~$ echo "23.3 + 35" | bc
58.3
# 设置精度值 用英文的 ; 进行分割,相当于两个命令
~$ echo "scale=4;23.3 / 35" | bc
.6657