Гид по технологиям

Bash

Семафоры в Bash: что это и как реализовать
Bash 8 min read

Семафоры в Bash: что это и как реализовать

Семафор — это примитив синхронизации, который ограничивает одновременный доступ к ресурсу. В Bash безопаснее использовать атомарные файловые блокировки (flock, mkdir) вместо простых переменных. В статье есть примеры, шаблоны тестов, чек-листы и несколько практических реализаций семафоров для скриптов.

Ошибки в Bash: set -e, -u и pipefail
Bash 8 min read

Ошибки в Bash: set -e, -u и pipefail

Добавьте в начало скрипта строгие опции set (-e, -u, -o pipefail) — они заставят скрипт завершаться при ошибках, ловить неинициализированные переменные и перехватывать сбои внутри пайпов. Для диагностики используйте set -x и trap ERR; для ситуаций, где нужен исключающий контроль, применяйте явную проверку кодов возврата.

Конкатенация строк в Bash — примеры и советы
Bash 4 min read

Конкатенация строк в Bash — примеры и советы

Конкатенация — это простое объединение значений. В Bash строки соединяют с помощью оператора +=, последовательной записи переменных, параметрического расширения и printf. Важно правильно экранировать и кавычить переменные, чтобы избежать разбиения слов и уязвимостей.

Как безопасно и эффективно использовать eval в Bash
Bash 8 min read

Как безопасно и эффективно использовать eval в Bash

eval полезен для выполнения динамически сформированных команд в текущем шелле, но опасен при работе со строками из ненадёжных источников. Используйте альтернативы (parameter expansion, command substitution, declare -n, printf -v), применяйте проверку и белые списки, и используйте eval только когда других опций нет.

Безопасное программирование на Bash
Bash 9 min read

Безопасное программирование на Bash

Этот документ объясняет основные приёмы «defensive programming» в Bash: корректный shebang, всегда заключать переменные в кавычки, останавливать скрипт при ошибках, отладка через xtrace, защита от имён файлов‑подвохов и локальные переменные в функциях.