TGViewer
Bash Days | Linux | DevOps Bash Days | Linux | DevOps @bashdays · 23.6K subscribers
Post #62 7.38K
Если тебе приходится ковырять и писать скрипты на bash, порой хочется иметь под рукой какой-нибудь линтер. Чтобы уж слишком в говнокод не скатываться.

И такой линтер есть, называется shellcheck. С помощью него можно производить статический анализ кода и повышать качество твоих замечательных скриптов. Написан этот линтер на Haskell.

Haskell — стандартизированный чистый функциональный язык программирования общего назначения. Является одним из самых распространённых языков программирования с поддержкой отложенных вычислений.

С помощью этого линтера ты сможешь искать ошибки в текстах скриптов и получать отчеты о проведенных проверках. Это позволяет повысить производительность работы и качество кода.

Установка элементарная

apt/yum/brew install shellcheck

А использование этого линтера, вообще максимально простое:

shellcheck script.sh

Вот и все. Если твой скрипт написан чисто и без косяков, то после запуска этой команды, ничего не произойдет. А вот если запустить его на скрипте из этого поста, то в ответ получим много нецензурной брани и полезные советы. С одной стороны использовать эмоджи нам дают, но линтер как бы намекает на наш IQ.

^-- SC1036 (error): '(' is invalid here. Did you forget to escape it?
^-- SC1088 (error): Parsing stopped here. Invalid use of parentheses?

For more information:
https://www.shellcheck.net/wiki/SC1036 -- '(' is invalid here. Did you forg...
https://www.shellcheck.net/wiki/SC1088 -- Parsing stopped here. Invalid use...

Что еще сказать, этот линтер можно прикрутить в vim. Достаточно установить из репозитория плагин Plug 'neomake/neomake’. А в VSCode так и называется shellcheck.

А если лень ставить и тыкать, можешь воспользоваться онлайн версией. Я пользуюсь консольной версией, из коробки, без всяких дополнительных ключей. Но ключи все же имеются, можешь запустить --help и поглядеть сам, но там особо ничего такого нет.

🐱 Проект shellcheck на github

Ну и котиков лови: 🤭. 👀 😊 кудаж без них.

tags: #bash #utils
—
🟢 Подпишись: @bashdays
  • 👍 121
More from @bashdays
  1. Sep 29, 2026Самый жаркий холивар в команде — это не systemd, а какие заказать роллы на всю команду. Од…
  2. Sep 24, 2026Post #1565
  3. Sep 23, 2026Здрасти приехали, решил я в кой-то веке воспользоваться услугами Codex, создал аккаунт, по…
  4. Sep 22, 2026Всем привет, с вами TagdTagd. Сегодня опять поднимем тему архивов, но немного с другой сто…
  5. Sep 15, 2026Всем привет, с вами TagdTagd. И это вторая часть. Практическая. С первой частью можешь озн…
  6. Sep 11, 2026🤖 DevOps в эпоху AI трансформации: что работает уже сейчас! 17 сентября Сбер собирает Dev…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →