ㅤ
Буду почаще практиковать. Но есть и жирный минус, сегодня пришлось себя прям заставлять что-то сделать по работе. К хорошему привыкаешь быстро.
Ладно, лирика. Давай дальше бест-практики тыкать.
Команда
if [ bar = "$foo" ]; проверяет, равны ли два значения.Тут самое важно это — пробелы, про кавычки повторять не буду, ты это уже и так знаешь. Все уши тебе прожужал.
Неправильно:
[bar="$foo"]
[ bar="$foo" ]
[[bar="$foo"]]
1. Нельзя слеплять всё вместе. Это хуёва даже в плане кодстайла.
2. Нет пробела вокруг знака «=».
3. Аналогично, всё слеплено.
Правильный синтаксис:
if [ bar = "$foo" ]; then
или
if [[ bar = "$foo" ]]; then
Почему?
Потому что
[, =, ] это отдельные символы, первая скобка вообще команда test. А если ты все слепляешь, Bash посчитает тебя долбаёбом и отправит в пешее эротическое.Главное правило — всегда ставь пробелы между каждым элементом в условии.
tags: #bash #badpractices #bestpractices
—
🔔 @bashdays➡️ @gitgate