Если тебе приходится ковырять и писать скрипты на bash, порой хочется иметь под рукой какой-нибудь линтер. Чтобы уж слишком в говнокод не скатываться.
И такой линтер есть, называется shellcheck. С помощью него можно производить статический анализ кода и повышать качество твоих замечательных скриптов. Написан этот линтер на Haskell.
Haskell — стандартизированный чистый функциональный язык программирования общего назначения. Является одним из самых распространённых языков программирования с поддержкой отложенных вычислений.
С помощью этого линтера ты сможешь искать ошибки в текстах скриптов и получать отчеты о проведенных проверках. Это позволяет повысить производительность работы и качество кода.
Установка элементарная
А если лень ставить и тыкать, можешь воспользоваться онлайн версией. Я пользуюсь консольной версией, из коробки, без всяких дополнительных ключей. Но ключи все же имеются, можешь запустить
🐱 Проект shellcheck на github
Ну и котиков лови:🤭 . 👀 😊 кудаж без них.
tags: #bash #utils
—
🟢 Подпишись: @bashdays
И такой линтер есть, называется shellcheck. С помощью него можно производить статический анализ кода и повышать качество твоих замечательных скриптов. Написан этот линтер на Haskell.
Haskell — стандартизированный чистый функциональный язык программирования общего назначения. Является одним из самых распространённых языков программирования с поддержкой отложенных вычислений.
С помощью этого линтера ты сможешь искать ошибки в текстах скриптов и получать отчеты о проведенных проверках. Это позволяет повысить производительность работы и качество кода.
Установка элементарная
apt/yum/brew install shellcheckА использование этого линтера, вообще максимально простое:
shellcheck script.shВот и все. Если твой скрипт написан чисто и без косяков, то после запуска этой команды, ничего не произойдет. А вот если запустить его на скрипте из этого поста, то в ответ получим много нецензурной брани и полезные советы. С одной стороны использовать эмоджи нам дают, но линтер как бы намекает на наш IQ.
^-- SC1036 (error): '(' is invalid here. Did you forget to escape it?Что еще сказать, этот линтер можно прикрутить в vim. Достаточно установить из репозитория плагин
^-- 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...
Plug 'neomake/neomake’
. А в VSCode так и называется shellcheck.А если лень ставить и тыкать, можешь воспользоваться онлайн версией. Я пользуюсь консольной версией, из коробки, без всяких дополнительных ключей. Но ключи все же имеются, можешь запустить
--help
и поглядеть сам, но там особо ничего такого нет.Ну и котиков лови:
tags: #bash #utils
—