TGViewer
DevOps Ready | IT DevOps Ready | IT @devops_ready · 7.6K subscribers
Post #1330 1.57K
Знали, почему grep может завершить shell-скрипт без ошибки в самой команде?

grep возвращает разные коды завершения. Ноль означает, что совпадение найдено, единица означает, что совпадений нет, а код больше единицы говорит о реальной ошибке чтения.

В обычном терминале отсутствие строки часто нормально:
grep -q "READY" status.txt


Но в скрипте с set -e код 1 может прервать выполнение. Это неприятно, когда отсутствие совпадения является ожидаемой веткой, а не аварией.

Проверку лучше писать прямо в условии:
if grep -q "READY" status.txt; then
deploy
fi


Команда внутри if не остановит скрипт из-за set -e. Ветку else можно использовать для понятного сообщения или обычного пропуска шага.

Если важно отличить отсутствие данных от настоящей ошибки, сохраните exit code:
grep -q "READY" status.txt
code=$?


Теперь код 1 можно обработать спокойно, а остальные значения отправить в лог как проблему:
if [ "$code" -gt 1 ]; then
echo "grep failed" >&2
exit "$code"
fi


Такой подход особенно полезен для health-check, поиска строки в логах и проверок перед deploy. Отсутствие совпадения становится управляемым результатом, а не случайной причиной падения автоматизации.

➡️ DevOps Ready | #совет
  • ❤ 6
  • 🔥 6
  • 👍 5
  • 🤝 2
More from @devops_ready
  1. Oct 1, 2026Шпаргалка по жизненному циклу Pod в Kubernetes! На картинке показано, как запрос проходит…
  2. Sep 30, 2026DevOps Daily собирает материалы по инфраструктуре! На сайте есть разборы Docker, Kubernete…
  3. Sep 29, 2026Разбираем SSH 7 флагов для подключения и туннелей! SSH нужен не только для входа на сервер…
  4. Sep 28, 2026📂 Напоминалка по построению observability-матрицы для проекта! Наблюдаемость помогает пон…
  5. Sep 25, 2026Делаем проверяемый бэкап PostgreSQL! Резервная копия полезна только тогда, когда её можно…
  6. Sep 24, 2026Шпаргалка по сигналам и остановке процессов в Linux! На картинке собраны основные сигналы…
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 →