usa variável de loop para cálculo de bash

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

Eu recebo:

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

Eu acredito que o problema é o $i . O que estou fazendo errado?

    
por Botulus 25.11.2016 / 10:54

1 resposta

3

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.

    
por 25.11.2016 / 10:58