【发布时间】:2020-04-15 16:09:57
【问题描述】:
我觉得我快疯了,我有一个不同的脚本,它可以正常使用将 bc 的输出传递到变量的常用方法,但这个我无法正常工作。
相关的代码如下:
PERCENT_MARKUP=".5"
$percentonumber=$(bc -l <<<"$PERCENT_MARKUP/100")
echo "Percent to number = $percentonumber"
$numbertomultiply=$(bc -l <<<"$percentonumber + 1")
echo "Number to multiply = $numbertomultiply"
$MARKUP=$(bc -l <<<"$buyVal * $numbertomultiply")
#$MARKUP=$(bc -l <<<"$buyVal * (1+($PERCENT_MARKUP/100))")
echo "Markup = $MARKUP"
最初,我只有倒数第二行当前已被注释掉,但我将其分解以尝试排除故障。
我在尝试运行它时遇到的错误是:
./sell_zombie_brains: line 65: =.00500000000000000000: command not found
.0050000000000000 被 bc 的输出替换。我什至在文件中的多个点尝试了以下内容,包括在 #!/bin/bash 之后使用和不使用 -l
$test=`bc -l <<<"1"`
echo "$test"
echo
$test=$(bc -l <<<"1")
echo "$test"
echo
$test=$(echo "1"|bc -l)
echo "$test"
echo
每个输出./sell_zombie_brains: line 68: =1: command not found
我真的是束手无策。我不知道我在这里错过了什么。任何关于它为什么会这样行为的见解都值得赞赏。
【问题讨论】:
-
添加一个shebang,然后将您的脚本粘贴到那里:shellcheck.net
-
谢谢,我会保存的。以后会派上用场的。