Привет. Что-то мало мне было двух выходных, надеюсь, хоть ты отдохнул от информационного шума. Ладно, к делу. В предыдущем посте мы с тобой рассмотрели линтер для Bash. А сегодня познакомимся с утилитой shfmt.
Это не очередной линтер (но тоже умеет орать на ошибки), это утилита для форматирования и синтаксического анализа скриптов. Байда написана на Go и поддерживает оболочки POSIX, Bash и mksh. Так что утилита не ограничена одним лишь Bash.
Ставится из пакетного менеджера:
apt install shfmt
Ну и запускается так же элементарно:
shfmt script.sh
Скармливаем утилите свой прекрасный скрипт, а на экран выводится приятный глазу отформатированный результат. Ну либо не выводится, если встречаются какие-то синтаксические ошибки. Короче, утилита выкашивает весь ненужный трешак, но сохраняет «наверное» работоспособность скрипта.
Чтобы каждый раз не копипастить результат форматирования, у shfmt есть ключ -w. Указав его, результат сразу перезапишется в файл, над которым проводятся эксперименты.
Какого-то жёсткого кодстайла нет, всё настраивается через ключи, например можно указать количество пробелов и т. п. Закидываем в алиасы и пользуемся.
shfmt для подготовки скриптов для публикации в публичные репозитории GitHub. Чтобы оупенсорс-гуру говном не закидывали на этапе плохого форматирования.По секрету скажу, что в личных проектах (да и не только) особо никто не придерживается какого-то определённого форматирования. Все пишут как курица лапой нравится, главное, чтобы это работало. Практика плохая, ну лучше плохо, чем вообще никак. Да и девчонки плохих любят.
Вечером про отладку или обфускацию скриптов поговорим. На связи!








Комментарии