awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectAboutHow we rankPressMCP server
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·
koalaman avatar

koalaman/shellcheck

0
View on GitHub↗
39,574 stars·1,925 forks·Haskell·GPL-3.0·16 viewswww.shellcheck.net↗

Shellcheck

This project is a static analysis tool and linter designed to improve the quality, reliability, and portability of shell scripts. By performing deep structural analysis, it identifies common programming pitfalls, syntax errors, and security vulnerabilities before scripts are executed. It functions as an automated code reviewer that enforces best practices and helps developers maintain consistent, robust code across different operating environments.

The tool distinguishes itself through its dialect-aware grammar resolution, which adapts its parsing logic based on the specific shell interpreter detected. It utilizes a sophisticated engine that constructs an abstract syntax tree to evaluate logic, quoting, and portability concerns. Developers can exert granular control over the analysis process by using inline directives to suppress specific warnings or configure how the tool resolves external source files.

The project covers a comprehensive surface of diagnostic capabilities, ranging from fundamental syntax validation to complex logic checks. It provides guidance on idiomatic script construction, including safe file handling, efficient arithmetic operations, and proper command substitution. These features collectively ensure that scripts adhere to POSIX standards and remain compatible across various shell implementations.

The tool is distributed as a command-line utility, allowing for integration into development workflows to provide immediate feedback on script integrity.

Features

  • Static Analysis Tools - Provides automated feedback to improve code reliability and maintainability.
  • Linters & Formatters - Enforces POSIX compliance and identifies common syntax errors or logic flaws within shell script files.
  • Portability Checkers - Ensures shell scripts remain compatible across different operating systems and shell interpreters by detecting non-standard or dialect-specific syntax.
  • Shell Scripting Best Practices - Process files using shell globbing patterns instead of command substitution to safely handle filenames containing spaces, wildcards, or special characters.
  • Shell Scripting Linters - Identifies inefficient pipe usage in shell scripts to optimize command execution and prevent redundant data processing.
  • Static Analysis Tools - Traverses the parsed tree structure to identify patterns, logic errors, and non-portable syntax constructs.
  • Compatibility Testers - Identify non-portable script features that conflict with the specified shebang to ensure scripts remain compatible with the intended interpreter.
  • Automation and Linting Tools - Static analysis tool for shell scripts.
  • Build and Version Control - Static analysis tool for shell scripts.
  • Code Quality Tools - Analyzes shell scripts for errors.
  • Console Applications - Static analysis tool for identifying issues in shell scripts.
  • Console Utilities - Static analysis tool for identifying issues in shell scripts.
  • Linting And Formatting - Static analysis tool for shell scripts.
  • Shell Environment - Static analysis tool for shell scripts.
  • Shell Script Development - Static analysis tool to detect bugs in shell scripts.
  • Shells and Scripting - Static analysis tool for identifying shell script errors.
  • Security Scanners - Prevents common security vulnerabilities like command injection and improper variable expansion by identifying unsafe coding patterns in shell scripts.
  • Shell Security Hardening - Quote all arguments and array-expansion variables to prevent unintended word splitting and globbing when processing script arguments containing spaces or special characters.
  • Code Quality Tools - Enforces best practices and consistent coding standards across shell scripts to improve maintainability and reduce common runtime failures.
  • Parsers & Lexers - Processes source code into an abstract syntax tree by recursively matching grammar rules against tokens.
  • Automated Code Review - Inspects scripts for common pitfalls and suggests idiomatic improvements to ensure consistent and robust code execution.
  • Cross-Platform Utilities - Detects non-standard or dialect-specific syntax to ensure scripts remain compatible across different operating systems and shell interpreters.
  • Shell Script Optimizers - Remove redundant echo commands wrapping shell command substitutions to improve script performance and preserve exit codes.
  • Shell Scripting Utilities - Wrap invisible terminal control codes in prompt strings with specific delimiters to ensure the shell correctly calculates line length and prevents display wrapping issues.
  • Shells & Scripting - Store the result of a shell command in a variable by wrapping the command in parentheses preceded by a dollar sign for later use in scripts.
  • Shell Scripting Best Practices - Provides patterns for processing file contents line by line to prevent common shell scripting errors like unintended word splitting.
  • Static Analysis - Allows explicit definition of sourced file paths to enable accurate static analysis of shell scripts.

Star history

Star history chart for koalaman/shellcheckStar history chart for koalaman/shellcheck

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Open-source alternatives to Shellcheck

Similar open-source projects, ranked by how many features they share with Shellcheck.
  • analysis-tools-dev/static-analysisanalysis-tools-dev avatar

    analysis-tools-dev/static-analysis

    14,389View on GitHub↗

    This project is a comprehensive, curated directory of static analysis, linting, and security scanning utilities. It serves as a central resource for developers to discover, compare, and select tools based on specific programming languages, licensing models, and integration requirements. The directory distinguishes itself by providing deep metadata for each listed utility, including community-driven popularity rankings, maintenance status, and deployment methods. By aggregating these tools into a single searchable index, it enables teams to identify solutions for enforcing coding standards, ma

    Rustanalysisawesome-listcode-quality
    View on GitHub↗14,389
  • anordal/shellhardenanordal avatar

    anordal/shellharden

    4,784View on GitHub↗

    Shellharden is a shell script hardening tool and linter designed to improve the security and reliability of Bash scripts. It functions as an automated utility that rewrites scripts to follow industry standards for quoting and security practices. The project provides an optimizer and standardizer that replaces unsafe patterns and aliases with safer functional equivalents. It includes a syntax highlighter that uses visual markers and colorization to indicate vulnerabilities and areas where quoting corrections are required. The tool covers a broad range of capabilities including automated safet

    Rust
    View on GitHub↗4,784
  • hadolint/hadolinthadolint avatar

    hadolint/hadolint

    12,225View on GitHub↗

    Hadolint is a static analysis tool designed to validate container build configurations. It functions as a security scanner and configuration auditor, parsing build instructions into a structured format to identify deviations from security and efficiency standards. The tool distinguishes itself by performing deep inspection of embedded shell commands. By tokenizing and analyzing these scripts, it detects common scripting errors and security vulnerabilities that might otherwise persist within a container image. It integrates external analysis tools to provide specialized validation for these in

    Haskelldockerdockerfiledockerfile-linter
    View on GitHub↗12,225
  • psf/blackpsf avatar

    psf/black

    41,578View on GitHub↗

    This project is an uncompromising, deterministic code formatter for Python. It functions by parsing source code into an abstract syntax tree and regenerating it according to a rigid, opinionated set of style rules. By automating the formatting process, it eliminates manual style debates and configuration overhead, ensuring that code remains consistent across entire projects regardless of the original input. The tool distinguishes itself through its focus on speed and seamless integration into development workflows. It utilizes content-based file caching and parallel processing to maintain hig

    Pythonautopep8codecodeformatter
    View on GitHub↗41,578
See all 30 alternatives to Shellcheck→

Frequently asked questions

What does koalaman/shellcheck do?

This project is a static analysis tool and linter designed to improve the quality, reliability, and portability of shell scripts. By performing deep structural analysis, it identifies common programming pitfalls, syntax errors, and security vulnerabilities before scripts are executed. It functions as an automated code reviewer that enforces best practices and helps developers maintain consistent, robust code across different operating environments.

What are the main features of koalaman/shellcheck?

The main features of koalaman/shellcheck are: Static Analysis Tools, Linters & Formatters, Portability Checkers, Shell Scripting Best Practices, Shell Scripting Linters, Compatibility Testers, Automation and Linting Tools, Build and Version Control.

What are some open-source alternatives to koalaman/shellcheck?

Open-source alternatives to koalaman/shellcheck include: analysis-tools-dev/static-analysis — This project is a comprehensive, curated directory of static analysis, linting, and security scanning utilities. It… anordal/shellharden — Shellharden is a shell script hardening tool and linter designed to improve the security and reliability of Bash… hadolint/hadolint — Hadolint is a static analysis tool designed to validate container build configurations. It functions as a security… psf/black — This project is an uncompromising, deterministic code formatter for Python. It functions by parsing source code into… astral-sh/ruff — Ruff is a high-performance static analysis and code formatting tool designed for Python. Built in Rust, it functions… continuedev/continue — Continue is an automated code review platform that integrates AI agents directly into the software development…