我是一直在编写脚本的人之一 打坏 解决日常情况(破解AP /路由器密码,自动执行流程等).
在某些情况下,我看到需要将数学表达式的值分配给变量,或者仅使用数学表达式,在那里我发现自己的问题是bash和数学表达式,计算不是很友好。 碰巧bash不像python,我们能说什么 变量= 1 + 5/6 (例如),在Bash中,我们必须使用以下命令 表达式 o 追踪
Expr命令
换句话说,expr命令可以帮助我们在终端中求解数学表达式,从而可以计算出所需的内容。 例如,如果要显示1 + 2 * 8/3的结果,则将其放在终端中:
expr 1 + 2 \* 8 / 3
请注意,在星号*之前加反斜杠-»\ ...是必要的,因为expr不会将星号解释为乘法符号,除非\
结果将显示在屏幕上。 这是一些示例的屏幕截图:
如您在最终计算中所见(14/4和13/4),将14除以4实际上是3.5,将13除以4实际上是3.25,那么在两种情况下如何向我们显示3? 发生的情况是expr命令没有显示小数,即逗号后面没有显示小数,仅显示了整数。
如果我们想将一个数学表达式的结果(例如:10/2)分配给一个变量,则将是这样的:
variable=`expr 10 / 2`
然后我们使用以下命令进行检查:
echo $variable
重要的是,每个字符之间要有一个空格,即每个数字,每个加,减,乘或除符号之间要有一个空格
Calc命令
与前一个不同,该数字在小数方面非常精确,例如:
calc 15 / 4
它会告诉我们:3.75
这是带有几个示例的屏幕截图:
与expr不同,使用calc时,每个字符之间最好没有空格,也就是说,数字和符号之间没有空格,就像您在上图中看到的那样。 他们也不需要在*之前加上\
好吧,这基本上就是我想告诉你的。
但是,对于每个命令(尤其是calc),还有一些其他有趣的提示,我建议您阅读手册:
man calc
man expr
问候
非常有用,尽管使用Bash进行数学计算绝对不好,十进制计数:)
elav先生,我们还有bash计算器🙂我们可以使用-l参数来使用标准数学库
像那样的东西
$ echo "(4/8)+(6/9)" | bc -l
1.166666666666666666666666
ha
????
优秀的。 这样,我避免了在使用纯X11时安装XCalc的麻烦。
哦,我不知道这个,太棒了!
谢谢,这很有用😉
谢谢^ _ ^
谢谢。 系统计算器一直是基本操作的竞争者。
感谢您阅读我们🙂
好提示!
我不喜欢它