Авторский блог от действующего девопса
Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу.
Автор: Роман Шубин
Реклама: @maxgrue
MAX: https://max.ru/bashdays
Курс: @tormozilla_bot
Блог: https://bashdays.ru
Post #946
11.2K
Бебебед практики bash, продолжаем.
Нельзя просто так взять условие из языка «Сиськи» и заменить его на квадратные скобки.
Сколько не повторяй, один хер делают неправильно.
Команда
Хуёвая практика:
В этом примере сначала проверяется
Если же
Бест-практика! Зырь!
Делаем двойные скобки. Двойные скобки умеют работать с
Внутри неё можно использовать логические операторы
Рассмотрим пример:
Для тупых Кто до сих пор не понял:
Представь, что ты говоришь своей бабушке: Если я убрал в комнате И сделал уроки, я могу поиграть в девопс-инженера.
Ну так вот:
Вот и вся наука. Изучай!
🛠 #bash #badpractices #bestpractices
—
✅ @bashdays / @linuxfactory / @blog
Нельзя просто так взять условие из языка «Сиськи» и заменить его на квадратные скобки.
Сколько не повторяй, один хер делают неправильно.
Команда
[ — это не просто скобка, а отдельная команда. Она проверяет, пиздеж ли что-то или нет.Хуёвая практика:
if [ a = b ] && [ c = d ]; then
...
fi
В этом примере сначала проверяется
a = b, если это пиздёж — дальше ничего не выполняется.Если же
a = b НЕ пиздёж — тогда проверяется c = d. И если c = d НЕ пиздёж, то выполняется, то что внутри then.Проще по моему объяснить уже нереально. Сложно перепутать пизду с розеткой. Хотя… вечно путают.
Бест-практика! Зырь!
if [[ a = b && c = d ]]; then
...
fi
Делаем двойные скобки. Двойные скобки умеют работать с
&& внутри.[[ ... ]] — это специальная команда Bash, которая используется для проверки условий. Она умнее и безопаснее, чем обычная [ ... ].Внутри неё можно использовать логические операторы
&& (и) и || (или) без дополнительных скобок или дополнительных [.Рассмотрим пример:
a="hello"
b="hello"
c="bashdays"
d="bashdays"
if [[ $a = $b && $c = $d ]]; then
echo "Условия совпали!"
fi
1. Проверяет $a = $b → "hello" = "hello"? → Да.
2. Дальше && говорит: Если первое условие — НЕ пиздёж, идём ко второму.
3. Проверяет $c = $d → "bashdays" = "bashdays"? → Да.
4. Оба условия верны → выполняется команда echo.
[ — работает с одним условием за раз[[ — может работать с комбинированными условиями прямо внутри себя.Представь, что ты говоришь своей бабушке: Если я убрал в комнате И сделал уроки, я могу поиграть в девопс-инженера.
Ну так вот:
[[ ... ]] — это бабушка, которая за всю свою жизнь повидала много дерьма и вполне может понять твою сложную фразу: убрал И сделал уроки.[ ... ] — это твой младший брат, пиздюк еще не в состоянии воспринимать такие большие выпады и ему нужно говорить частями.«Сначала убрал?» — (ДА) Не пиздёж.
«Сделал уроки?» — (ДА) Не пиздеж.
«Ок, теперь я могу поиграть в девопс-инженера»
Вот и вся наука. Изучай!
🛠 #bash #badpractices #bestpractices
—
✅ @bashdays / @linuxfactory / @blog



