📅  最后修改于: 2023-12-03 15:05:45.664000             🧑  作者: Mango
Unix/Linux中内置了许多的数学函数,可以方便地在Shell脚本中进行数学计算。最常用的函数包括:expr
、bc
、let
、awk
等等。
expr
是Unix/Linux中一种用于Shell计算的工具,可以实现简单的算术运算、字符串匹配等功能。常用到的算术运算符有:+
, -
, *
, /
, %
等。
例如:
$ expr 2 + 3
5
$ expr 10 - 5
5
$ expr 2 \* 3
6
$ expr 10 / 2
5
$ expr 10 % 3
1
注意:使用*
号进行乘法运算必须进行转义,即\*
。
bc
是Unix/Linux中一种用于高精度计算的工具,可以进行比较复杂的数学计算,支持数学函数、逻辑运算等操作。在使用bc
进行计算时,必须用echo
或cat
等命令将计算表达式传入到bc
中,使用quit
命令退出。
例如:
$ echo "scale=2; 3.1415926 * 2" | bc
6.28
$ echo "scale=2; sqrt(100)" | bc
10.00
注意:scale
用于设置结果的小数位数。
let
是Unix/Linux中一种用于整数计算的工具,可以进行比较简单的数学计算,只支持整数运算,不支持逻辑运算等操作。
例如:
$ let "a=2+3"
$ echo $a
5
$ let "b=2*3"
$ echo $b
6
awk
是Unix/Linux中一种用于文本处理的工具,可以实现比较复杂的操作,也可以进行简单的数学计算。在使用awk
进行数学计算时,必须用$
符号引用变量,使用printf
输出结果。
例如:
$ awk 'BEGIN {x=2;y=3;printf "%d\n",x+y;}'
5
$ awk 'BEGIN {x=2;y=3;printf "%d\n",x*y;}'
6
注意:BEGIN
用于指定执行的操作,在awk
中是固定的关键字。每个操作必须使用{}
包含,多个操作之间使用;
分隔。
以上是Unix/Linux-Shell内置的数学函数的介绍,可以根据需要选择使用。