TGViewer
BashMaster BashMaster @bash_help · 8.84K subscribers
Post #1193 2.21K
⚙️ Гарантированная очистка даже после краша

✔️Скрипт упал с ошибкой, а временный файл остался. Или соединение не закрылось. Или lock-файл завис. Это классика и trap решает её в одну строчку.

➡️ Что делает trap
▶️Регистрирует функцию, которая запустится при выходе из скрипта — неважно, нормальном или аварийном.

▶️Вы один раз описываете логику очистки и забываете об этом:
#!/bin/bash
set -euo pipefail

tmpfile=$(mktemp)

cleanup() {
rm -f "$tmpfile"
echo "Cleaned up temporary files"
}

trap cleanup EXIT # сработает при любом выходе

# Основная работа
echo "Processing..." > "$tmpfile"
cat "$tmpfile"


▶️EXIT это сигнал, который bash отправляет при завершении скрипта. Функция cleanup удалит временный файл, даже если скрипт упал на середине.

➡️ Что можно убирать через trap
▶️Временные файлы и директории, lock-файлы, открытые соединения с базой, фоновые процессы, которые скрипт запустил сам.

➡️ Почему это лучше, чем rm в конце скрипта
▶️rm в конце не выполнится, если скрипт упадёт раньше. trap cleanup EXIT выполнится всегда — это гарантия на уровне интерпретатора.

🖼️ Ссылка на источник

🔨 bash_help
  • 👍 5
  • 🔥 3
More from @bash_help
  1. Oct 18, 2026АЙТИШНИКИ БЕСПЛАТНОЕ ОБУЧЕНИЕ Проект «Terminal» стал крупнейшей библиотекой бесплатного об…
  2. Oct 15, 2026⚙️ IxeRam ✔️Высокопроизводительный терминал-ориентированный сканер памяти и отладчик для L…
  3. Oct 15, 2026👩‍💻 Всем программистам посвящается! Вот 14 авторских обучающих IT каналов по самым востр…
  4. Oct 14, 2026⚙️ bash-agent ✔️Минималистичная среда выполнения для AI-агента, которая написана на чистом…
  5. Oct 11, 2026⚙️ PortPal ✔️Нативный десктопный монитор портов, который помогает быстро понять, какие про…
  6. Oct 11, 2026👀Ты давно мечтал обучиться этичному хакингу? ⚠️Мы нашли для тебя ЛУЧШЕЕ ПРЕДЛОЖЕНИЕ на ры…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →