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
[EMAIL PROTECTED]
 
# 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... :-)

Responder a