[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:14:18 -0300 |
User-agent: |
Thunderbird 2.0.0.16 (X11/20080707) |
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... :-)
- Sleep, Cleyton Wanderley, 2008/09/23