trap 'команда' СИГНАЛ перехватывает сигналы и события shell. trap 'rm -f "$tmpfile"' EXIT удалит временный файл при нормальном завершении, INT (Ctrl+C) и TERM (kill по умолчанию).

SIGKILL (kill -9) trap не перехватывает — ядро завершает процесс немедленно, обходя любые обработчики. Стандартный паттерн: объявить trap в начале скрипта, несколько действий — в функцию: trap cleanup EXIT INT TERM.

#bash #shell #scripting #linux #sysadmin