我的数组中包含浮点值:
declare -x args=(20.5 60 14)
total=10000
for i in ${args[@]}; do
max=$((total/${#args[@]}*i/100)) | bc
done
语法错误:算术运算符无效(错误标记为" .5")
使用bc
非常多,因为即使在尝试应用此处的建议时它也会失败:
也许我只是不知道我到底在做什么......
答案 0 :(得分:0)
你的$(( ...))
正在告诉bash进行它不应该做的数学运算。而是将整行放在=
中$(.)
的右侧,使内部看起来像echo "..." | bc
max=$( echo "$total/${#args[@]}*$i/100" | bc)