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

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

Re: [shell-script] Dúvida para usar duas variáveis concatenadas em loop


From: Julio C. Neves
Subject: Re: [shell-script] Dúvida para usar duas variáveis concatenadas em loop for
Date: Thu, 29 Jan 2015 10:04:22 -0200

Num one liner desses, se não tivesse explicado o passo a passo acho que estaria mais para quiz (in english, please) ;)

Abcs,
Julio
@juliobash
P
róximos cursos de Shell
Cidade         Local Período
Rio de Janeiro EDX 09 a 13/03/15
São Paulo 4Linux 23 a 27/03/15
Dou treinamento de Shell em qualquer cidade.
Para mais detalhes, me mande um e-mail.


Em 28 de janeiro de 2015 12:31, Paulo Bettega address@hidden [shell-script] <address@hidden> escreveu:
O_o putz, Mestre Julio, esse deve ser o cúmulo do KISS :)


On 28-01-2015 11:43, 'Julio C. Neves' address@hidden [shell-script] wrote:
> Fala Emmanuel,
> veja se esse passo a passo resolve teu problema:
>
> $ Var_01=10
> $ Var_02=20
> $ Var_90=90
> $ echo $Var_{01..90}
> 10 20 90
> $ echo $Var_{01..90} | tr ' ' +
> 10+20+90
> $ echo $Var_{01..90} | tr ' ' + | bc
> 120
>
> Abcs,
> Julio
> *@juliobash**
> Próximos cursos de Shell*
> *Cidade        LocalPeríodo*
> *Rio de JaneiroEDX <http://edx.srv.br/>09 a 13/03/15*
> *São Paulo 4Linux <http://www.4linux.com.br/cursos/programacao-em-shell-script>23 a 27/03/15 *
> Dou treinamento de /Shell/ em qualquer cidade.
> Para mais detalhes, me mande um e-mail <mailto:address@hidden>.
>
>
> Em 27 de janeiro de 2015 20:00, Emmanuel Oliveira address@hidden
> <mailto:address@hidden> [shell-script] <address@hidden
> <mailto:address@hidden>> escreveu:
>
>     __
>
>     Pessoal, em primeiro lugar agradeço imensamente a rapidez e ajuda nas respostas.
>
>     Eu quis simplificar a dúvida, para facilitar a explicação, mas parece que é mais efetivo dizer o
>     que realmente estou tentando fazer.
>
>     Tenho 100 variáveis, criadas de VAR_01  até VAR_100 por um outro script.
>
>     Preciso somar o valor final delas. Só isso .....
>
>     Acho que talvez eu esteja complicando...
>
>     O que estava tentando fazer era :
>
>     --------------------------------------------------------------------------
>     !/bin/bash
>
>     # eu preciso calcular a soma de todas as variáveis, de VAR_01  a VAR_100
>
>
>     for i in $(seq 1 100)
>     do
>
>     CONTADOR=`echo "$CONTADOR + $VAR_$i" | bc`
>
>
>     done
>
>     --------------------------------------------------------------------------
>
>     Acho que eu acabei complicando a minha dúvida e a resolução.
>
>     Alguma forma mais prática de resolver essa soma ?
>
>     Muito obrigado mesmo Fernando, Júlio e Gustavo.
>
>     Emmanuel
>
>
>
>
>
>
>     Em Terça-feira, 27 de Janeiro de 2015 18:44, "'Gustavo S. L.' address@hidden
>     <mailto:address@hidden> [shell-script]" <address@hidden
>     <mailto:address@hidden>> escreveu:
>
>
>     E se quiser manter essa ordem de uma variável abaixo da outra, pode fazer:
>
>     #!/bin/bash
>     variavel[1]="1"
>     variavel[2]="-3"
>     variavel[3]="8"
>     variavel[4]="-1"
>     variavel[5]="0"
>     for i in ${variavel[*]}
>     do
>     echo $i
>     done
>
>
>     Em 27 de janeiro de 2015 19:30, 'Julio C. Neves' address@hidden
>     <mailto:address@hidden> [shell-script] <address@hidden
>     <mailto:address@hidden>> escreveu:
>
>         __
>         Boa tarde Emmanuel,
>         Se vc fizer:
>         $ VAR_=10
>         A saída do seu script sera101, 102, ..., 105, isso pq em qq linguagem interpretada, a
>         interpretação é da esquerda para a direita. Isso significa que a variável $VAR_ será
>         resolvida em primeiro lugar e estará vazia.
>         Para evitar que isso ocorra, faça:
>         eval echo $VAR_$i
>         Em 27/01/2015 19:10, "Emmanuel Oliveira address@hidden
>         <mailto:address@hidden> [shell-script]" <address@hidden
>         <mailto:address@hidden>> escreveu:
>
>             __
>             Olá pessoal.
>
>             Desculpem a simplicidade da dúvida, mas sou meio iniciante no shell, e  realmente não
>             estou conseguindo resolver.
>
>             Já pesquisei no google, e realmente não estou achando a solução.
>
>             Segue abaixo o script bem simples; ele é parte de um script maior, mas separei o que
>             interessa:
>
>             -----------------------------------------------------
>             #!/bin/bash
>
>             VAR_1="-1"
>             VAR_2="1"
>             VAR_3="3"
>             VAR_4="-1"
>             VAR_5="8"
>
>             for i in $(seq 1 5)
>             do
>
>             echo $VAR_$i
>
>             done
>
>             -----------------------------------------------------
>
>             o resultado é sempre esse :
>
>             ./executa.sh
>
>             1
>             2
>             3
>             4
>             5
>
>             quando eu precisava que fosse :
>
>             ./executa.sh
>
>             -1
>             1
>             3
>             -1
>             8
>
>             em resumo, não está lendo a variável : $VAR_$i   como $VAR_1
>
>             Alguém poderia dar uma ajuda para resolver essa dúvida ?
>
>             Desde já, muito obrigado mesmo.
>
>             Emmanuel
>
>
>
>
>
>
> ----------------------------------------------------------------------------------------------------
> Enviado por: "Julio C. Neves" <address@hidden>
> ----------------------------------------------------------------------------------------------------


------------------------------------

------------------------------------

---------------------------------------------------------------------
Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil


------------------------------------

Links do Yahoo Grupos

<*> Para visitar o site do seu grupo na web, acesse:
    http://br.groups.yahoo.com/group/shell-script/

<*> Para sair deste grupo, envie um e-mail para:
    address@hidden

<*> O uso que você faz do Yahoo Grupos está sujeito aos:
    https://info.yahoo.com/legal/br/yahoo/utos/terms/




reply via email to

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