Como forçar o encerramento anormal de um script bash

Como forçar o encerramento anormal de um script bash

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 1para encerrar o script.

O código de saída 0significa 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 $filemas 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.

informação relacionada