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

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

Re: [shell-script] Sleep


From: Leandro Santiago
Subject: Re: [shell-script] Sleep
Date: Tue, 23 Sep 2008 11:16:20 -0300
User-agent: Thunderbird 2.0.0.16 (X11/20080707)

Opa, na hora de passar o script para o e-mail ele foi todo desformatado :-( Mas acredito estar legível :-)

Leandro Santiago escreveu:
Caso o número de comandos a ser executado possa crescer, e você não queira modificar muito o programa, pode fazer assim.
Por exemplo, tenho três comandos:

#!/bin/sh

# lista de comandos que quero executar
comando[0]='ls /tmp'
comando[1]='rm /' # este irá falhar...
comando[2]='echo $PWD'
comando[3]='echo cacatua | rev'

# qtd guarda o número de comandos que eu tenho
qtd=${#comando[@]}

# um contador chamado... i
i=0

while (( i < qtd )); do
   # executa o comando em questão
   eval ${comando[$i]}
           # é sempre bom guardar o código de retorno do comando
   # ele pode ser útil para uma checagem posterior (no mesmo bloco)
   retorno=$?

   # como por exemplo aqui, pois se um comando falhar eu termino o while
   if ((retorno)) ; then
      echo "O comando '${comando[$i]}' falhou com código $retorno"
      break
   fi

   # incrementa o i para ir ao próximo comando
   ((i++))
                   # dorme três segundos
   sleep 3s
done

Assim, você pode aumentar, sem problemas, a quantidade de comandos a serem executados, sem modificar o bloco do while.
Ah, e como viram, eu usei um while... :-)




reply via email to

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