最近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 |
|
おわりに
僕はあまりシェルスクリプトを本格的に書いたことがありませんが、こういった静的チェックが先生になって添削してくれることでよりシェルスクリプトを理解できるようになりました。
シェルスクリプト以外にもCIで静的チェックをするのはとても良いと思いました。