我想在 shell 脚本中对 eval 变量进行数学运算,但它不起作用。
query=first
eval avgOverall$query[1]=28.5
avgOverall=$(("`eval echo '${avgOverall'$query'[1]}'`+1")) | bc
但我遇到了以下错误
bash: "28.5+1": syntax error: operand expected (error token is ""28.5+1"")
我究竟做错了什么?
答案1
写起来很痛苦:
avgOverall=$(eval echo '${avgOverall'$query'[1]}' + 1 | bc )
如果您有 bash 版本 4,请使用关联数组
declare -A avgOverall
avgOverall[$query,1]=28.5
avg=$( bc <<< "${avgOverall[$query,1]} + 1" )
echo $avg