シェルスクリプトの文法チェックを全自動で行う「ShellCheck」が参考になる!
シェルスクリプトの勉強を始めたばかりの人にもオススメできるツール「ShellCheck」のご紹介!
シェルスクリプトの「文法チェック」には、いくつか方法があるわけですが、なかでも「ShellCheck」は非常に簡単に扱えるだけでなく、エラー箇所を具体的に指摘してくれるので助かります。
使い方!
最もオススメな使い方が、公式サイト上でそのままチェックする方法!
シェルスクリプトをブラウザ上で入力することができ、何もしなくても自動的にデバッグされて下段に結果を表示してくれます。
例えば、よくありがちな変数の「$」を付け忘れた場合…。(echoで、変数yの$を付け忘れてますね…)1
#!/bin/bash
x=5
y=10
echo $x + y
すると、以下のように「変数yが使われていないけど大丈夫?」みたいなエラーを表示してくれます。1
#!/bin/bash
x=5
y=10
^--SC2034 y appears unused. Verify it or export it.
echo $x + y
他にも、変数を代入する時に、うっかり「スペース」を入れてしまっても、丁寧にエラーを返してくれます。1
#!/bin/bash
x = 10
^––SC1068 Don't put spaces around the = in assignments.
echo $x
case文で「;;」を入れ忘れても、しっかり指摘してくれます。1
#!/bin/sh
program="javascript"
case $program in
javascript)
echo "変数はjavascriptです"
ruby)
^--SC1074 Did you forget the ;; after the previous case item?
^--SC1072 Expected "#". Fix any mentioned problems and try again.
echo "変数はrubyではありません"
;;
objective-c)
echo "変数はobjectvie-cではありません"
;;
esac
ドキュメントを見ると、他にも多彩なデバッグに対応しているのが分かります。
ちなみに、「ShellCheck」はWebで確認する以外にも、インストールすることで自分のローカル環境で利用することも出来るようになっています。
プログラミングに慣れている方は、コチラの方が使いやすいと思うので、ぜひトライしてみてください!
(参考)
「ShellCheck」公式ドキュメント
シェルスクリプトの解説サイトもオススメ!
関連サイトで、シェルスクリプトの文法を解説してくれるサービスも存在します。
ボックス内に入力したスクリプトを、自動的に解析してどんな意味を持ったコードなのかを説明してくれるので非常に便利です。
シェルスクリプトのサンプル事例などをコピペして、このサービスで意味を把握するのが便利な使い方でしょう。
(参考)
「explainshell.com」公式サイト
ラズパイなど、シェルスクリプトに触れる機会が少しずつ増えてきているような気がするので、ご興味ある方はブックマークするのをお忘れなく…!
(参考)
「ShellCheck」公式サイト