Gerar código de erro

1. Gerar código de erro

Eduardo Rodrigues
madrux

(usa Ubuntu)

Enviado em 14/01/2010 - 22:25h

Boa Noite,

galera estou desenvolvendo um script que quando algum comando que ele execute dê erro, ele gere um códido de erro já pré estabelecida e guarde dentro da variável ERRO. Utilizando o terminal posso utilizar o comando echo $? para saber se o ultimo comando foi bem sucedido, nesse scrit como posso checar se o ultimo comando foi bem sucedido, pra poder gerar o código de erro?

Muito obrigado pela ajuda


  


2. Re: Gerar código de erro

DAVISON MARCEL PASQUALINI
fdmarp

(usa Debian)

Enviado em 02/03/2010 - 10:03h

Cara, é a mesma coisa ... após cada comando checa a variável ERRO, por exemplo:

ls -l
ERRO="$?"
echo $ERRO
ls -l zica
ERRO="$?"
echo $ERRO
vv
ERRO="$?"
echo $ERRO
Obs.: os echo foram só pra te mostrar os resultados.

Simples assim, sacou!!!


3. o famoso echo $?

Alexandre Gonçalves Monteiro da Silva
alexandregms

(usa Ubuntu)

Enviado em 16/07/2011 - 20:05h

Bom, vc quer saber se um comando foi ou não executado com sucesso, certo?

Já usei bastante isso pra inserir scripts no Control-M que necessita de uma resposta "ok" ou "erro".

Para isso teremos que realizar um teste para cada ação executada, o comando "echo $?" retornará 0 (zero) para "execução OK" e diferente de 0 (zero) para erro. Tendo isso, vamos por em prática:

Exemplo para validar se um diretório existe:
test -d /usr/xyz
if [ $? -ne 0 ]; then

echo "Diretorio nao encontrado"
exit 1 # encerrar o script

fi

Exemplo para verificar se o processo httpd está em execução:
ps -ef | grep httpd | grep -v grep
if [ $? -eq 0 ]; then

echo "Processo httpd em execução"

else

echo "Processo httpd não está em execução"
exit 1 # encerrar o script

fi

Agora é só seguir a lógica para quaisquer comandos! Isso é extremamente útil para evitar graves erros em scripts!
Há muitos scripts hoje sem essas condições e geram diversos falsos/positivos, pois ele roda normalmente, mas um ou mais comandos pode(m) não ser executado(s). Isso em rotinas de backup é grave, pois vc pode achar que os arquivos estão sendo copiados, mas não realidade não estão.
Quando vc usa o comando "mv" ou "rm" em scripts deve-se tomar cuidado para que os arquivos movidos ou deletados não sejam outros. O "echo $?" pode salvar sua vida em vários momentos, acostume-se sempre a usá-lo!!!
Boa sorte!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts