在bash中,我尝试使用整数和浮点数来计算整数结果。下面的代码片段不起作用:
x=25
y=0.2
z=$((x*y))
echo $x*$y=$z
错误消息是:
sh: line 3: 0.2: syntax error: invalid arithmetic operator (error token is ".2")
如果两个变量都是整数,则可以正常工作。
如何从bash脚本中获取“25 * 0.2 = 5”?
答案 0 :(得分:1)
将您的打印输出放在echo中的引号中。你的z = $((x * y))也会使z为空或错误:
25 * 0.2:语法错误:算术运算符无效(错误标记为 ” 0.2" )
所以...这是经过测试的代码,可能是这样的:
x=25
y=0.2
z=$(echo $x*$y | bc)
echo "$x*$y=$z"
结果将是这样的:
25*0.2=5.0
注意:我们使用 bc 命令进行z计算
答案 1 :(得分:0)
尝试 bashj (支持java的bash变种)https://sourceforge.net/projects/bashj/。
例如:
#!/usr/bin/bashj
echo Math.cos(0.5)
echo Math.hypot(3.0,4.0)