TGViewer
Библиотека девопса | DevOps, SRE, Sysadmin Библиотека девопса | DevOps, SRE, Sysadmin @devopslib · 1.27K subscribers
Post #39 478
🧠 Зачем set -e в bash-скриптах — и почему он может вас подставить

Многие пишут в баш-скриптах в начале:


#!/bin/bash
set -e


Типа: пусть скрипт падает при первой ошибке. Звучит здраво. Но есть нюанс.

Вот такой код:


set -e
mkdir /tmp/test || true
echo "Продолжаем..."


Что произойдёт, если /tmp/test уже существует?

👉 mkdir вернёт ошибку, но || true спасёт нас. Скрипт пойдёт дальше.

А теперь так:


set -e
if some_command; then
echo "OK"
fi


Если some_command завершится с ненулевым кодом — всё, скрипт упадёт до входа в if.

🧨 И таких подводных камней с set -e хватает.

💡 Решение — аккуратнее: либо продуманные конструкции вроде if, ||, &&, либо использовать trap и обрабатывать ошибки осознанно.


Подпишись 👉 @devopslib
  • 👍 3
More from @devopslib
  1. Sep 24, 2026🔥 DevOps-антипаттерны, которые мешают вашей инфраструктуре DevOps — это не только про авт…
  2. Sep 23, 2026🔹Как DevOps может ускорить CI/CD? Каждый DevOps-инженер рано или поздно сталкивается с пр…
  3. Sep 16, 2026🔥 Как мониторить логи в реальном времени? Мониторинг логов в реальном времени — одна из в…
  4. Sep 11, 2026🚀 Зачем DevOps инженеру уметь писать код? Часто можно услышать мнение, что DevOps — это п…
  5. Sep 7, 2026🔥 Kubernetes: Как уменьшить время старта подов? 🔥 Одной из распространенных проблем в Ku…
  6. Aug 31, 2026🚀 GitOps: революция в управлении инфраструктурой GitOps — это подход к управлению инфраст…
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 →