Что делает trap cleanup EXIT в Bash-скрипте?
trap cleanup EXIT
Отслеживает изменения в файле с буквальным именем EXIT.
EXIT
Запускает очистку только в том случае, если каждая команда завершилась успешно.
Немедленно вызывает cleanup, а затем отключает все последующие команды.
cleanup
Регистрирует cleanup для запуска при завершении shell — независимо от того, завершился ли скрипт штатно или через один из многочисленных путей ошибки.