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
> [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