@peccul is peccu

(love peccu '(emacs lisp cat outdoor bicycle mac linux coffee))

シェルスクリプトのLinterとか文法チェックとか

シェルスクリプト、大きめのものを書いているとどんどん不安になってくる。 あと、こう書くとよい。みたいなものがわかりにくい。

Linterを探してみた。

シェルの-nオプション

シェルに実行せず確認だけというオプション-nがあるとのこと。下記は各種シェルで試すループ。

for shell in zsh ksh bash dash sh
do
  echo "Testing ${shell}"
  ${shell} -n my_script.sh
done

stackoverflow.com

ShellCheck

Linterがあった。Web上のフォームにコピペすると指摘してくれる。

www.shellcheck.net

コマンドラインツールとしても利用できる。 cabalbrewで入れられる。

cabal install shellcheck
brew install shellcheck

使い方は引数にスクリプト名を渡すだけ。

shellcheck my_cool.sh

どんな指摘をしてくれるのかの資料はこちら。

About ShellCheck