在脚本中格式化bash命令

时间:2018-01-11 09:33:59

标签: linux bash

在shell中输入

bc -l <<< '90.8/(179*179)*10000'

我得到了正确的输出:

28.33869105208951030000

但是我无法在bash脚本中格式化这个:

calculate_bmi () {
    BMI="$(bc -l <<< '${1}/(${2}*${2})*10000)'"
    echo "${BMI}"
}

当我尝试不同的实验时,我得到了各种奇怪的错误。最新的错误是:

./wts.sh: command substitution: line 25: syntax error near unexpected token `('
./wts.sh: command substitution: line 25: `bc -l <<< ${1}/(${2}*${2})*10000)"'

请帮帮我。

1 个答案:

答案 0 :(得分:2)

编写您的函数如下:

calculate_bmi () {
    BMI=$(bc -l <<< "${1}/(${2}*${2})*10000")
    echo "${BMI}"
}

您必须使用双引号(而不是单引号)才能插入变量。