Repolode
koalaman

koalaman/shellcheck

Инструмент статического анализа, который находит ошибки, проблемы переносимости и вредные привычки в скриптах bash и sh.

Звёзды
40,295
Форки
1,973
Открытые issues
1,090
Последний коммит
позавчера

Что это?

ShellCheck анализирует скрипты оболочки и выдаёт предупреждения и рекомендации о синтаксических ошибках, проблемах в логике и малозаметных ловушках, из-за которых скрипт может работать неверно или завершиться с ошибкой. Он проверяет скрипты bash и sh и указывает, например, на переменные без кавычек, неправильное использование операторов test, некорректные шаблоны для find или grep и скрытые коды завершения, а также объясняет каждое предупреждение.

ShellCheck можно использовать на сайте shellcheck.net, в командной строке или в редакторах Vim, Emacs, Sublime, VS Code и Pulsar. Результаты можно выводить в виде обычного текста, JSON, XML в формате CheckStyle или сообщений в стиле GCC. Коды завершения позволяют легко настроить завершение сборки или тестового запуска с ошибкой при появлении предупреждений.

ShellCheck написан на Haskell и распространяется по лицензии GPL-3.0. Он доступен через большинство системных менеджеров пакетов, Docker, conda, а также в виде предварительно скомпилированных бинарных файлов для Linux, macOS и Windows.

Ключевые возможности

  • 01Находит ошибки с кавычками, некорректные условия и неправильное использование команд в скриптах bash и sh.
  • 02Выявляет проблемы переносимости с учётом shebang скрипта — аналогично checkbashisms.
  • 03Объясняет каждое предупреждение и даёт ссылки на подробные страницы вики.
  • 04Интегрируется со многими редакторами и CI-сервисами.
  • 05Выводит результаты в виде текста, JSON, XML в формате CheckStyle или сообщений, совместимых с GCC.

Сценарии использования

  • Проверка shell-скриптов в CI-пайплайне, чтобы сборка завершалась с ошибкой при появлении новых предупреждений.
  • Поиск переменных без кавычек и опасных шаблонов для rm или find до запуска скрипта.
  • Проверка, что скрипт для /bin/sh не использует возможности, доступные только в bash.
  • Получение подсказок прямо в редакторе во время работы над shell-скриптами.

Быстрый старт

  1. 1

    Установите ShellCheck с помощью Homebrew

    brew install shellcheck
  2. 2

    Запустите ShellCheck для скрипта

    shellcheck yourscript

Что важно знать

  • Распространяется по лицензии GPL-3.0 с копилефтом.
  • Для компиляции из исходного кода требуется около 2 ГБ оперативной памяти.

В подборках

Темы

Частые вопросы

Что такое shellcheck?
Инструмент статического анализа, который находит ошибки, проблемы переносимости и вредные привычки в скриптах bash и sh. ShellCheck анализирует скрипты оболочки и выдаёт предупреждения и рекомендации о синтаксических ошибках, проблемах в логике и малозаметных ловушках, из-за которых скрипт может работать неверно или завершиться с ошибкой. Он проверяет скрипты bash и sh и указывает, например, на переменные без кавычек, неправильное использование операторов test, некорректные шаблоны для find или grep и скрытые коды завершения, а также объясняет каждое предупреждение.
shellcheck можно использовать бесплатно? Какая у него лицензия?
shellcheck распространяется с открытым исходным кодом под лицензией GPL-3.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
shellcheck всё ещё поддерживается?
Активно поддерживается. Последний коммит в shellcheck — 5 нояб. 2026 г..
Для чего можно использовать shellcheck?
Проверка shell-скриптов в CI-пайплайне, чтобы сборка завершалась с ошибкой при появлении новых предупреждений. Поиск переменных без кавычек и опасных шаблонов для rm или find до запуска скрипта. Проверка, что скрипт для /bin/sh не использует возможности, доступные только в bash. Получение подсказок прямо в редакторе во время работы над shell-скриптами.
Как установить shellcheck?
Установите ShellCheck с помощью Homebrew: brew install shellcheck Запустите ShellCheck для скрипта: shellcheck yourscript
Где скачать shellcheck?
Исходный код и инструкции по установке — на GitHub: https://github.com/koalaman/shellcheck

Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.

Похожие проекты

Расширяемый линтер для ECMAScript/JavaScript, который находит проблемные конструкции в коде и умеет автоматически исправлять многие из них.

27,6 тыс.+1 за неделю5,2 тыс.JavaScriptMITАктивно поддерживаетсяОбновлён 23 часа назад

Линтер для Rust с более чем 800 проверками: находит распространённые ошибки и предлагает более идиоматичный код; запускается как подкоманда cargo.

13,6 тыс.2,2 тыс.RustApache-2.0Активно поддерживаетсяОбновлён 17 часов назад