【发布时间】:2018-03-01 20:07:06
【问题描述】:
我正在使用 bash 为 FSL(一种成像软件)编写脚本。不过,这一切都是通过命令行完成的,因此编写脚本很简单。
我很难将之前计算的变量平方,然后将其存储为新变量:
varStdBase=$(fslstats ${varBase%.nii.gz}_MAX100.nii.gz -S)
echo "Std Dev. is: "$varStdBase
varS1=$(echo '$varStdBase^2'|bc)
echo "variance is: "$varS1
我正在努力解决 varS1 问题。我不断收到错误消息:
syntax error: invalid arithmetic operator (error token is ".886438")
我也试过了:
varS1=$(($varStdBase**2))
和:
let varS1=$varStdBase**2
还有:
varS1=$(echo $(($varStdBase**2)))
还有更多,都无济于事......
我正在努力找出 bash 想要完成这个简单任务的语法。
谢谢!
【问题讨论】:
-
把
set -x放在脚本的顶部,这样你就可以看到 bash 是如何进行变量替换的。 -
谢谢!这对解决问题有很大帮助
标签: bash variables store operator-keyword exponent