我需要变量,我想找到一个除以另一个的值。我应该用什么命令来做这件事?
答案 0 :(得分:66)
在bash shell中,使用$(( ... ))
$ echo $(( 7 / 3 ))
2
虽然我认为你只限于整数。
答案 1 :(得分:38)
echo 5/2 | bc -l
2.50000000000000000000
'bc'中的'-l'选项允许浮动结果
答案 2 :(得分:16)
更好的方法是使用“bc”,一个任意精度计算器。
variable=$(echo "OPTIONS; OPERATIONS" | bc)
前:
my_var=$(echo "scale=5; $temp_var/100 + $temp_var2" | bc)
其中“scale = 5”是准确的。
man bc
附带了几个用法示例。
答案 3 :(得分:11)
我仍然更喜欢使用 dc ,这是一个RPN计算器,所以快速会话将67除以18,精度为4位,看起来像
>dc
4k
67
18/p
3.7222
q
>
显然,更多可用: man dc
答案 4 :(得分:11)
答案 5 :(得分:8)
在bash中,如果你的部门不需要小数,你可以这样做:
>echo $((5+6))
11
>echo $((10/2))
5
>echo $((10/3))
3
答案 6 :(得分:5)
我认为通过 Linux控制台你的意思是 Bash 。
如果X
和Y
是您的变量,$(($X / $Y))
会返回您要求的内容。
答案 7 :(得分:2)
使用bash将$ a除以$ b的整数除法示例:
echo $((a/b))
答案 8 :(得分:2)
使用光线跟踪的答案可以做的其他事情。您可以使用反引号使用另一个shell调用的stdout然后进行一些计算。例如,我想知道几个文件中前100行的文件大小。 wc -c
的原始大小以字节为单位,我想知道千字节。这是我做的:
echo `cat * | head -n 100 | wc -c` / 1024 | bc -l
答案 9 :(得分:1)
你应该尝试使用:
echo "scale=4;$variablename/3"|bc
答案 10 :(得分:1)
你也可以使用perl -e
perl -e 'print 67/8'
答案 11 :(得分:-1)
我也有同样的问题。划分整数很容易,但十进制数并不那么容易。
如果您有2个数字,如3.14和2.35,然后除以数字,
代码将是Division = echo 3.14 / 2.35 | bc
回声“$ Division”
报价不同。不要混淆,它位于键盘上的esc按钮下方。
唯一的区别是| bc以及此处echo用作算术计算的运算符而不是打印。
所以,我添加了echo“$ Division”来打印这个值。请让我知道这对你有没有用。谢谢。