
Eu tenho um Synology NAS executando o DSM. Criei um script bash para verificar se um determinado arquivo está presente em uma determinada pasta. O script é executado de acordo com uma programação e retorna o resultado para mim por e-mail.
O problema é que recebo muitos e-mails apenas dizendo que o script funcionou bem.
O agendador de tarefas DSM permite enviar o email somente se o script terminar de forma anormal.
Minha pergunta é:como posso forçar o script a encerrar de forma anormal?
Eu faria isso para receber um e-mail se o arquivo que procuro não existir.
Responder1
Você pode usar exit 1
para encerrar o script.
O código de saída 0
significa que tudo correu bem, todos os outros indicam algum tipo de erro.
Responder2
Você poderia usar um código de saída se o arquivo estiver faltando:
#!/bin/bash
file="/foo/bar"
if [ -e "$file" ]
then
exit 0
else
exit 1
fi
[ -e ]
é um operador que verifica se "$file"
existe. É equivalente, test -e $file
mas adequado a if-else-fi.
Verteste de homemse você precisar de mais operadores.
Editar:
Para elaborar ainda mais, também existemoutros códigos de saídaque você pode usar por conveniência, supondo que você tenha um aviso por e-mail diferente para quando o script 'explodir' ou não for executado por algum motivo.