使用循环变量进行计算 bash

使用循环变量进行计算 bash
for i in {0..9} do
    T=$(bc<<<"8+$i*0.5")
    echo $T
done  

我得到:

syntax error near unexpected token `T=$(bc<<<"8+$i*0.5")'

我相信问题是$i.我究竟做错了什么?

答案1

问题不在于$i,问题在于你的for构造语法。您需要换行符或;之前do(如果在声明之后立即使用for):

for i in {0..9}; do
    T=$(bc <<<"8+$i*0.5")
    echo "$T"
done 

或者

for i in {0..9} 
do
    T=$(bc <<<"8+$i*0.5")
    echo "$T"
done

为了清楚起见,最好在此处字符串 ( <<<) (及类似字符串)之前使用空格。

尽管在这种情况下并非绝对必要,但您应该引用变量扩展。

相关内容