[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]