Как принудительно завершить работу bash-скрипта

Как принудительно завершить работу bash-скрипта

У меня есть Synology NAS с DSM. Я создал скрипт bash для проверки наличия определенного файла в определенной папке. Скрипт запускается по расписанию и возвращает мне результат по электронной почте.

Проблема в том, что я получаю слишком много писем, в которых просто говорится, что скрипт отработал нормально.

Планировщик задач DSM позволяет отправлять электронное письмо только в случае аварийного завершения скрипта.

Мой вопрос:как можно принудительно завершить работу скрипта?

Я бы сделал это для того, чтобы получить электронное письмо, если файл, который я ищу, не существует.

решение1

Вы можете использовать exit 1для завершения скрипта.

Код выхода 0означает, что все прошло нормально, все остальные указывают на какую-то ошибку.

решение2

Если файл отсутствует, можно использовать код выхода:

#!/bin/bash
file="/foo/bar"
if [ -e "$file" ]
then
exit 0
else
exit 1
fi

[ -e ]— оператор, который проверяет, "$file"существует ли. Он эквивалентен test -e $fileif-else-fi, но подходит для него.
Смотритемужской тестесли вам нужно больше операторов.

Редактировать:
Для более подробного ознакомления, есть такжедругие коды выходакоторый вы можете использовать для удобства, предполагая, что у вас есть другое предупреждение по электронной почте на случай, если скрипт «взорвется» или не будет выполнен по какой-то причине.

Связанный контент