shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Passando valores de arquivo de parametro para oshell


From: Tiago Barcellos Peczenyj
Subject: Re: [shell-script] Passando valores de arquivo de parametro para oshell
Date: Tue, 3 Apr 2007 07:19:51 -0300

A solução rapida para o seu problema é usar o eval

 var1=10
 var2=11
 var3=12

$ for n in 1 2 3 ; do eval echo \$var$n ; done
10
11
12

uma outra forma seria produzir um vetor com cada elemento

$ var=(10 11 12 13 14 15)

$ for n in ${var[@]} ; do echo $n ; done
10
11
12
13
14
15

depois é so ir adicionando

$ var[6]=19

$ for n in ${var[@]} ; do echo $n ; done
10
...
19

[]´s Tiago

On 4/3/07, Rodrigo Santos Vieira <address@hidden> wrote:
>
>   Bom dia Galera.
>
> Não me fiz entender na primeira explicação do meu problema, vou tentar
> novamente:
>
> Tenho um arquivo de parametros com valores de variáveis, vamos supor que
> este arquivo se chame par.sh
> Dentro deste arquivo esta as variáveis estão armazenando valores, por
> exemplo
>
> var1=10
> var2=11
> var3=12
> var4=13
> ...
> var300=0
>
> Estou tentando fazer com que um outro shell encontre os valores dessas
> variáveis, que vamos chamar de dados.sh.
> Para que eu não precise ter que digitar cada variável no shell dados.shestou 
> procurando achar uma forma de fazer com que a variável $var adicione a
> si o um valor numérico e se transforme em $var1 e vá incrementando esse
> valor numérico a cada volta, ficando $var2, $var3... e assim po diante.
> Ex:
>
> n=1;
> while [ $para -ne 0 ]
> do
> . par.sh
> para='$var'$n; # Aqui é onde estava tentando fazer com que o variável $var
> se transformasse
> # em $var1, depois do loop, $var2 ... e assim vai até encontrar o ultimo
> valor das variáveis
> # que é ZERO, que estão no arquivo par.sh
>
> n=`expr $n + 1`;
> done
>
> Dei uma olhada vários materiais sobre vetores e arrays, mas não consegui
> identificar nada para resolver esse problema.
> Se alguem puder me ajudar a resolver este problema ou indicar um caminho
> ficaria muito grato.
>
> Att.
> Rodrigo
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>  
>



-- 
Tiago B Peczenyj
Linux User #405772

# cd /pub
# more beer


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



reply via email to

[Prev in Thread] Current Thread [Next in Thread]