Если тебе приходится ковырять и писать скрипты на Bash, порой хочется иметь под рукой какой-нибудь линтер. Чтобы уж слишком в говнокод не скатываться.
И такой линтер есть, называется ShellCheck. С помощью него можно производить статический анализ кода и повышать качество твоих замечательных скриптов. Написан этот линтер на 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'. А в VS Code так и называется — ShellCheck.
А если лень ставить и тыкать, можешь воспользоваться онлайн-версией. Но ключи всё же имеются, можешь запустить --help и поглядеть сам, но там особо ничего такого нет.
Ну и котиков лови: куда ж без них.








Комментарии