Uma maneira de fazer isso é usando o "eval"
Mas eu realmente acho uma solução nao mto elegante, e to sem tempo pra bolar
outra.

[EMAIL PROTECTED]:~$ unset VAR1 VAR2 VAR3 VAR0 VAR4 i
[EMAIL PROTECTED]:~$ echo $VAR1 $VAR2 $VAR3 $VAR0 $VAR4 $i

[EMAIL PROTECTED]:~$ while read LINHA; do let i++; eval VAR$i=$LINHA; done <
<(echo -e "teste1\nteste2\nteste3\nteste4")
[EMAIL PROTECTED]:~$ echo $VAR1 $VAR2 $VAR3 $VAR0 $VAR4 $i
teste1 teste2 teste3 teste4 4
[EMAIL PROTECTED]:~$

ou pra exibir mais inteligente:
[EMAIL PROTECTED]:~$ for ((x=1; x<=$i; x++)); do eval echo \$VAR$x; done
teste1
teste2
teste3
teste4
[EMAIL PROTECTED]:~$


Como disse.. não achei elegante, mas funciona.

Flavio do Carmo Junior

On 3/28/07, Bruno Damada <[EMAIL PROTECTED]> wrote:
>
>   Alguem sabe como faz pra mim usar um checklist do dialog e que ele de
> os resultados colocando uma variavel no while para cada resultado...
>
> estilos=$( dialog --stdout \
> --separate-output \
> --checklist 'Você gosta de:' 0 0 0 \
> rock '' ON \
> samba '' OFF \
> metal '' ON \
> jazz '' OFF \
> pop '' ON \
> mpb '' OFF )
>
> echo "$estilos" | while read LINHA; do echo "--- $LINHA"; done
>
> agradeço.
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]

Responder a