Bash para loop com intervalo {# .. #}

8

O {# .. #} gera uma seqüência de números ou caracteres, similarmente ao intervalo () em Python. Se eu executar o comando echo {1..5} na linha de comando, tenho:

1 2 3 4 5

Em vez disso, o script seguinte não funciona como esperado.

for i in {1..3};
do
    echo "Iteration $i"
done

imprimirá:

Iteration {1..3}

Por quê?
* Eu poderia usar seq , mas eu li que é desatualizado ( link )

    
por Shake0 22.07.2012 / 05:09

1 resposta

13

Eu testei seu código (copie e cole em um terminal) e ele produziu um resultado diferente do que você postou:

for i in {1..3};
do
    echo "Iteration $i"
done
#---OUTPUT BELOW---
Iteration 1
Iteration 2
Iteration 3

Estou usando o Linux Mint 12 Lisa (derivado do Ubuntu) com a versão bash 4.2.10 (1) -release

    
por zipizap 22.07.2012 / 05:26