fly1tkg blog

ShellCheckでshellscriptの静的チェックをする

最近Rubocopでrubyコードの静的チェックをCIでしているのですが、シェルスクリプトについても同様にできないかと探してみると、ShellCheckというものを見つけました。

ShellCheckとは

シェルスクリプトを静的チェックして、より良い書き方を提案してくれます。

https://github.com/koalaman/shellcheck

reference: https://github.com/koalaman/shellcheck

Webからも簡単に試せます。 http://www.shellcheck.net/

コマンドラインのインストールは各種パッケージマネージャーが対応しているので簡単にできます。

https://github.com/koalaman/shellcheck#installing

ShellCheckをWerckerで使う

gitにpushしたコードをCIサービスでチェックしたいので、Werckerで試してみます。

既にShellCheckを実行するStepが公開されているので、wercker.ymlに組み込むだけです。

https://github.com/wercker/step-shellcheck

filesの部分にチェックしたいコードを指定します。 指定しない場合は*.shが入ります

1
2
3
4
build:
  steps:
    - shellcheck:
        files: run.sh

おわりに

僕はあまりシェルスクリプトを本格的に書いたことがありませんが、こういった静的チェックが先生になって添削してくれることでよりシェルスクリプトを理解できるようになりました。

シェルスクリプト以外にもCIで静的チェックをするのはとても良いと思いました。