概要
シェルスクリプトのデバッグ方法について知っていると効率よくトラブルシューティングできます
今回はデバッグする際に知っておくべき
- オプション
- ブレークポイント
の設定方法について解説します
set
Bash には便利なオプションが多数用意されおり、以下のようにスクリプトの先頭に set コマンドで記述するとオプションを実行できます
一般的にset -eu
を使用します(eとuの説明は後述)
#!/bin/bash
set -eu
-e
シェルスクリプトが1度実行されてしまうと途中でエラーがある、ないに関わらず最後まで処理が実行されてしまいます
-e オプションを定義することでシェルスクリプト内で エラーが発生した時点で、それ以降の処理を中断する ことができます
-u
-u オプションを定義することで、未定義の変数に対して読み込み等を行おうとした際に、エラーとして扱うようになります
ブレークポイント
VSCode上でブレークポイントを使用することができます
まずはlaunch.jsonを作成します
launch.jsonが以下の通りになっていれば大丈夫です
今回はnameをBash-Debug
にします
launch.json
{
"version": "0.2.0",
"configurations": [
{
"type": "bashdb",
"request": "launch",
"name": "Bash-Debug (simplest configuration)",
"program": "${file}"
}
]
}
以下のようにデバッグモードになったら成功です
ブレークポイントによるステップイン・ステップオーバーをはじめ
ウォッチ、デバッグコンソールなども使用できます
参考