UNIX作業の効率化に欠かすことができないシェルスクリプトは、誰でも簡単に書くことができる反面、様々な落とし穴が存在していることでも知られています。「ShellCheck」はそんなシェルスクリプトの落とし穴にはまらないよう、sh/bash スクリプトの問題点を分析し、指摘してくれるオンラインサービス兼ツールです。
例えば以下のようなシェルスクリプトをチェックすると…
#!/usr/bin/env bash
## Example of a broken script. Hit the Down Arrow button to ShellCheck it!
for f in $(ls *.m3u)
do
grep -qi hq.*mp3 $f \
&& echo 'Playlist $f contains a HQ file in mp3 format'
done
以下のように問題点を5つも指摘してくれます。
それぞれ、なぜ警告になっているのか、理由をリンク付きで解説してくれるので、ただ単に間違いだといわれるよりも納得しやすいでしょう。
ShellCheckは、Haskellで作られたツールで、コマンドラインから使用することもできます。Debian / RedHat / Mac OS X用のインストール方法はGitHubに詳しく書かれています。シェルスクリプトを最近始めた方や(私も…)、たまにしか使わないので書き方を忘れたという方にオススメのサービスです。