Repolode
koalaman

koalaman/shellcheck

bashとshのシェルスクリプトから、バグ、移植性の問題、好ましくない書き方を見つける静的解析ツール。

スター
40,295
フォーク
1,973
未解決の Issue
1,090
最終コミット
一昨日

これは何?

ShellCheckはシェルスクリプトを読み込み、構文ミスや意味上の問題、スクリプトの誤動作や後々の失敗につながりかねない見落としやすい落とし穴について、警告と改善案を提示します。bashとshのスクリプトを対象とし、変数のクォート漏れ、test演算子の誤用、findやgrepのパターンの誤り、終了コードが隠されてしまう問題などを、各警告の説明とともに指摘します。

shellcheck.netのWebサイト、コマンドライン、またはVim、Emacs、Sublime、VS Code、Pulsarなどのエディタから利用できます。出力形式はプレーンテキスト、JSON、CheckStyle XML、GCC形式のメッセージから選べます。また、警告が出たときにビルドやテストを簡単に失敗させられるよう、終了コードも提供します。

ShellCheckはHaskellで書かれており、GPL-3.0で配布されています。ほとんどのシステムのパッケージマネージャー、Docker、condaから入手できるほか、Linux、macOS、Windows向けのコンパイル済みバイナリもあります。

主な機能

  • 01bashとshのスクリプトにおけるクォートの誤り、条件分岐の不具合、コマンドの誤用を検出します。
  • 02checkbashismsと同様に、スクリプトのshebangに応じた移植性の問題を指摘します。
  • 03各警告の説明と、詳細なWikiページへのリンクを提示します。
  • 04多数のエディタやCIサービスと連携します。
  • 05テキスト、JSON、CheckStyle XML、GCC互換のメッセージを出力します。

ユースケース

  • CIパイプラインでシェルスクリプトをlintし、新たな警告があればビルドを失敗させる。
  • スクリプトの実行前に、変数のクォート漏れや危険なrm、findのパターンを見つける。
  • /bin/sh向けに書かれたスクリプトがbash限定の機能に依存していないか確認する。
  • エディタでシェルスクリプトを編集中に、その場でフィードバックを得る。

クイックスタート

  1. 1

    HomebrewでShellCheckをインストールする

    brew install shellcheck
  2. 2

    スクリプトにShellCheckを実行する

    shellcheck yourscript

使う前に知っておきたいこと

  • コピーレフトライセンスであるGPL-3.0の下でライセンスされています。
  • ソースからコンパイルするには約2GBのRAMが必要です。

収録されている特集

トピック

よくある質問

shellcheck とは?
bashとshのシェルスクリプトから、バグ、移植性の問題、好ましくない書き方を見つける静的解析ツール。 ShellCheckはシェルスクリプトを読み込み、構文ミスや意味上の問題、スクリプトの誤動作や後々の失敗につながりかねない見落としやすい落とし穴について、警告と改善案を提示します。bashとshのスクリプトを対象とし、変数のクォート漏れ、test演算子の誤用、findやgrepのパターンの誤り、終了コードが隠されてしまう問題などを、各警告の説明とともに指摘します。
shellcheck は無料で使えますか?ライセンスは?
shellcheck は GPL-3.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
shellcheck は今もメンテナンスされていますか?
活発にメンテナンス中。shellcheck の最終コミットは 2026年11月5日 です。
shellcheck は何に使えますか?
CIパイプラインでシェルスクリプトをlintし、新たな警告があればビルドを失敗させる。 スクリプトの実行前に、変数のクォート漏れや危険なrm、findのパターンを見つける。 /bin/sh向けに書かれたスクリプトがbash限定の機能に依存していないか確認する。 エディタでシェルスクリプトを編集中に、その場でフィードバックを得る。
shellcheck のインストール方法は?
HomebrewでShellCheckをインストールする: brew install shellcheck スクリプトにShellCheckを実行する: shellcheck yourscript
shellcheck はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/koalaman/shellcheck

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト