ループ変数を使用した計算 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

<<<わかりやすくするために、ここではstring()(および同様の文字列)の前にスペースを使用するのが最善です。

この場合、必ずしも必要ではありませんが、変数拡張を引用する必要があります。

関連情報