みなさんこんにちは、くるふとです。note 初投稿です。 ナビタイムジャパンでは、経路探索エンジンや時刻表データのリリースフロー改善を主に担当しています。 今回は Shell のコーディングに便利な shellcheck と shfmt をご紹介します。 Shellcheck について shellcheck は、バグの要因になり得る記述を検知し警告してくれる、Shell の Linter です。 なぜ Linter が必要なのか まずは、下記のシェルスクリプトをご覧ください。 #!/bin/bash set -euo pipefail # 受け取った引数を順番に出力する。 for v in $@; do echo "${v}" done受け取った引数を for 文で回し出力するという、よくあるようなスクリプトに見えます。しかし、このスクリプトは以下のような場合に意図したものとは違う挙動