Links

2. shell中的四则运算符

  • n1,n2 :常量数字
  • char:运算符号 加,减,乘,除,取余(+,-,*,/,%)
  • $a,$b:变量a,变量b

方法1

  • 数字与符号之间需要有空格
  • 不支持小数
expr n1 char n2
expr $a char $b
  • 此种格式中乘号 需要写成 \
    # 例如:100*100
    expr 100 \* 100

方法2

  • 数字与符号之间可以不加空格
  • 不支持小数
echo $[n1 char n2]
expr $[$a char $b]

方法3

  • 数字与符号之间可以不加空格
  • 不支持小数
echo $((n1 char n2))
echo $(($a char $b))

例子

计算:1*100
expr 1 \* 100
等价于
echo $[1 * 100]
等价于
echo $((1 * 100))

linux自带计算器

控制台中使用bc命令进入
成功进入后会显示
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'.
输出quit然后回车退出bc计算器

方法4

使用bc计算器进行四则运算
  • 支持小数
    echo "n1 char n2" | bc
计算1.2+3.4
echo "1.2+3.4" | bc

保留指定小数位数

echo "scale=num;n1 / n2" | bc
  • 加减法无效
  • num:代表小数位数
  • 结果在(-1,1) 区间里面不显示0

例子

# 1.2/3 保留2位 = .40
echo "scale=2;1.2/3" | bc
# 1.2 -5 = .40 = -3.8
echo "1.2-5" | bc
# 3 * 5 = 15
echo "3*5" | bc
# 1+2.345 保留两位 
# 3.345
echo "scale=2;1+2.345" | bc
# 3.34
echo "scale=2;(1+2.345)/1" | bc