[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] ajuda linha por linha
From: |
Alysson Gonçalves de Azevedo |
Subject: |
Re: [shell-script] ajuda linha por linha |
Date: |
Sun, 5 Aug 2012 13:37:31 -0300 |
Lendo o código:
i=$1 #Variável i recebe valor do parâmetro $1.
while test $i -ge 0 #Enquanto i for maior que zero
do #faça
echo -n "$i " #exibe valor da variável i(sem pular linha no final)
i=$((i-1)) #subtrai 1 do valor de i
done #feito
echo #exibe uma linha em branco
$((i-1)) é um modo de fazer calculos no shell. Teste os comandos abaixo.
echo $((1+1))
valor=$((1+1))
echo $valor
echo $((valor*5))
Alysson Gonçalves de Azevedo - (11) 8491-7730
"É curioso como as pessoas ficam confusas quando a frase não terminam do
jeito que elas periquito."
Em 4 de agosto de 2012 21:36, Thiago Diniz da Silveira <
address@hidden> escreveu:
> Você pode ver linha por linha digitando sh -x script.sh
>
> mas o done é para terminar o do
> o i = $((i-1))
> ele pega o i retira 1 e chama o script de novo com o novo valor.
> e o echo -n $i é para mostrar o valor na tela.
>
>
> Em 4 de agosto de 2012 19:07, ribajcosta <address@hidden>
> escreveu:
>
> > **
> >
> >
> > Olá pessoal, saudações maranhenses a todos.
> >
> > Estou iniciando no mundo do shell e estou lendo um material do Verde...
> he
> > he he... e me deparei com este terrível código (terrivel pra mim é
> claro) e
> > não consegui decifrar como as coisas acontecem. Alguem poderia me ajudar
> > com a explicação linha por linha?
> > De já agradeço.
> >
> > Abaixo o código:
> >
> > #!/bin/bash
> > i=$1
> > while test $i -ge 0
> > do
> > echo -n "$i " # A partir daqui nao entendo mais nada... :-(
> > i=$((i-1)) # Inclusive isto...
> > done # E isto...
> > echo
> >
> >
> >
>
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> 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
>
>
>
[As partes desta mensagem que não continham texto foram removidas]