Подводные камни в Bash №6
Конструкция [[ ... ]] в Bash предназначена для проверки условий, но не для арифметики. Разбираем ошибочное сравнение и правильное применение (( ... )) для чисел.
Фото: Emre Karademir / PexelsЗдесь собраны все публикации блога Bashdays — заметки про Linux, DevOps и айтишные технологии.
Конструкция [[ ... ]] в Bash предназначена для проверки условий, но не для арифметики. Разбираем ошибочное сравнение и правильное применение (( ... )) для чисел.
Представь две коробки с созвучными подписями. Разбираемся, как Bash интерпретирует строки и почему одинаково выглядящие условия могут давать неожиданный результат.
Это ошибочный вариант, бэд мать его практика. Команда cd $(dirname "$f") должна вернуть путь к папке, где лежит файл.
Когда в Bash сравниваешь две переменные, важно не про***ться с кавычками. Разбираем, что произойдёт, если переменная $foo окажется пустой.
К предыдущему посту было написано достаточно много полезных комментариев и один из них представляет собой очень достойный чек-лист от Андрея. Вся годнота внутри 👇 Сообщи начальнику: "Упал прод. Разбираюсь в проблеме. Займет Х мин"
Представь: ты работаешь в компании единственным специалистом в своей роли. Ты что-то закоммитил, прод у***лся — с кого спросят и кто должен исправлять последствия?
Такс, как и обещал притаранил тебе рабочий пайплайн для авто деплоя mkdocs через gitea. Чтобы всё это заработало, в проекте тебе нужно создать структуру:
Вчера после статьи про CrowdSec много ребят обратились с вопросом — мужик, а чё за движок такой у твоего блога? Отвечу сразу всем. Это не движок, это статика. И сделана она при помощи фреймворка MKDocs + Material.
Продолжаем погружаться в Бэд-Практики! В прошлом посте мы рассмотрели файлы, которые начинаются с дефиса и то, что команда cp их может воспринимать как флаг. Ну дак вот. Предыдущие посты про Бэд-Практики ищи по тегу pitfalls Как …
Ну вот и обзор. В большей части это вольный перевод официального сайта приложения и картинки оттуда, но есть вставки с моей инсталляции. Ссылки на многие описания сохранены. Я не использую весь потенциал продукта - это прям сто …
Вот всё трём мы с тобой за бест-практики, но практически ничего не разбираем по бэд-практикам. Давай это исправлять в контексте Bash скриптов.
Сегодня решил поделиться отрицательным опытом. Код, приведенный в статье лучше не использовать. У меня возникла необходимость распарсить файл типа: