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

Last updated