O problema não é $i , o problema está na sua sintaxe de construção for . Você precisa de uma nova linha ou de ; antes de do (se usado logo após a declaração for ):
for i in {0..9}; do
T=$(bc <<<"8+$i*0.5")
echo "$T"
done
Ou
for i in {0..9}
do
T=$(bc <<<"8+$i*0.5")
echo "$T"
done
Para maior clareza, é melhor usar espaço em branco antes da string aqui ( <<< ) (e similar).
Embora não seja estritamente necessário neste caso, você deve citar suas expansões variáveis.