1.
FOO=$(echo foo{1..5})
mas é melhor usar uma matriz
FOO=(foo{1..5})
2.
echo ${FOO[*]}
4.
for i in {1..5}
do
echo bar
done
ou
for i in $(seq 5)
do
echo bar
done
Eu tenho o seguinte script:
FOOS=foo{1..5}
for i in 'echo $FOOS' do
echo bar
done
Agora eu (acho que) tenho a idéia de que a expansão de chave só funciona com literais - daí o eco - mas tudo isso parece fazer é imprimir apenas um bar
no console. Por que (a expansão de strings / chaves não está funcionando)?
O que eu esperaria que acontecesse é:
foo{1..5}
) representando uma expansão para a variável FOOS
$FOOS
, então basicamente eu tenho
for i in 'echo foo{1..5}' do
(parece que não posso escapar de carrapatos aqui) for i in foo1 foo2 foo3 foo4 foo5 do
bar
cinco vezes para a saída do console bar
impresso na tela como a única saída: -) Tags bash string brace-expansion