shell脚本初学者

时间:2014-07-04 05:53:42

标签: shell

我是shell脚本的初学者,所以为了习惯它们,我开始使用简单的脚本。试图计算一个"主要"的利率。金额,我写了下面的shell脚本。

但我得到的输出为:(150000*0.8)/100。我以为我将得到数学上解决的输出,即1200. (pr=($principal*$rof)/100)

任何人都可以帮助我吗?我犯了什么错误?

principal=150000
rof=0.8
pr=($principal*$rof)/100
echo $pr

2 个答案:

答案 0 :(得分:1)

Bash不支持浮点数算术e.g. see this post

$> principle=150000;rof=8;pr=`expr $principle \* $rof / 1000`;echo $pr
1200

答案 1 :(得分:1)

这段代码存在一些问题。假设您正在使用bash,正确的方法如下所示,

  1. 使用语法
    执行算术运算 x=$(( a + b ))

    因此,对于你的情况,它变成了 pr=$((( principle * rof ) / 100))

  2. 无法在bash中执行浮点运算。您可以将unix实用程序bc用于此类目的。在你的情况下,
    pr =`bc<<< “($ principle * $ rof)/ 100”`

  3. 所以,你的完整代码现在变成了,

    #!/bin/bash
    
    principle=150000
    rof=0.8
    
    pr=`bc <<< "( $principle * $rof ) / 100"`
    echo $pr