On Friday 07 July 2006 10:37, sergio.ps wrote:
[cut]
> num bash script eu tenha a seguinte situação:
[cut]
> var_4=ABC
> var_5=DEF
[cut]
> preciso recuperar o valor de cada uma durante um loop de 1 a 5.
[cut]
>    echo "O valor $i é: $var_? (valor de i)";
[cut]
> Como eu faço isso, para não ter de repetir 5 vezes a mesma coisa.
[cut]

$ ./teste.sh
O valor var_1 é: 123
O valor var_2 é: 456
O valor var_3 é: 789
O valor var_4 é: ABC
O valor var_5 é: DEF

$ cat teste.sh
#!/bin/sh

var_1=123
var_2=456
var_3=789
var_4=ABC
var_5=DEF

for ((i=1; i<6; i++)) {
        eval echo "O valor var_$i é: \$var_$i";
}

Ou então (prefiro assim):

var[1]=123
var[2]=456
var[3]=789
var[4]=ABC
var[5]=DEF

for ((i=1; i<6; i++)) {
        echo "O valor var_$i é: ${var[i]}";
}

---------------------------------------------------------------------------
Esta lista é patrocinada pela Conectiva S.A. Visite http://www.conectiva.com.br

Arquivo: http://bazar2.conectiva.com.br/mailman/listinfo/linux-br
Regras de utilização da lista: http://linux-br.conectiva.com.br
FAQ: http://www.zago.eti.br/menu.html

Responder a