シェルスクリプト、大きめのものを書いているとどんどん不安になってくる。 あと、こう書くとよい。みたいなものがわかりにくい。
Linterを探してみた。
シェルの-n
オプション
シェルに実行せず確認だけというオプション-n
があるとのこと。下記は各種シェルで試すループ。
for shell in zsh ksh bash dash sh do echo "Testing ${shell}" ${shell} -n my_script.sh done
ShellCheck
Linterがあった。Web上のフォームにコピペすると指摘してくれる。
コマンドラインツールとしても利用できる。
cabal
かbrew
で入れられる。
cabal install shellcheck brew install shellcheck
使い方は引数にスクリプト名を渡すだけ。
shellcheck my_cool.sh
どんな指摘をしてくれるのかの資料はこちら。