Rust製の超高速Pythonリンター/フォーマッター。900以上のlintルールを備え、Black互換のフォーマットに対応します。
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
HomebrewでShellCheckをインストールする
brew install shellcheck - 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 の数値は毎日更新されます。
関連プロジェクト
ECMAScript/JavaScriptの問題のあるパターンを検出し、多くの問題を自動修正できる、プラグイン対応のリンターです。
cargoサブコマンドとして実行でき、800種類以上のlintでよくあるミスを検出し、より慣用的なコードを提案するRust用リンター。
Ruby Style Guideのルールを適用し、多くの違反を自動修正できるRuby向け静的コード解析・フォーマッター。
Pythonコードを実行せずに解析し、エラーの検出、コーディング規約の適用、コードスメルの指摘を行う静的解析ツールです。
golintの置き換えとして使える、高速で設定可能なGoリンター。独自ルールや出力フォーマッターにも対応します。