一般来说,我将在 shell 脚本中使用 expr 进行算术运算。
有没有一种方法可以让我们在不使用 expr 的情况下在 shell 脚本中提出算术运算?
最佳答案
现代 shell (POSIX 兼容 = 在我看来是现代的)支持算术运算:
+ -/* 有符号长整型变量 +/- 2147483647。
将 awk 用于 double ,15 位重要数字它也可以用于 sqrt。
使用 bc -l 将精度扩展到 20 位有效数字。
您已经看到的 shell 语法 (zed_0xff):
a=$(( 13 * 2 ))
a=$(( $2 / 2 ))
b=$(( $a - 1 ))
a=(( $a + $b ))
awk 本身进行 double - 浮点 - 算术运算。
它还有 sqrt、cos、sin .... 见:
http://people.cs.uu.nl/piet/docs/nawk/nawk_toc.html
bc 有一些定义的函数和扩展的 presision 可以使用 -l 选项:
bc -l
例子:
echo 'sqrt(.977)' | bc -l
关于unix - shell 脚本算术运算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3011819/