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... :-)
>