[bash]Bashでステップ実行

2016年7月18日月曜日

bash

シェルスクリプトでステップ実行できたら、と思ったことないですか。
僕はあるよ。

と思っていたら、ここで素晴らしい説明をしてくれていた。
Shellスクリプトをデバッグ(ステップ実行)する

DEBUG擬似シグナルをtrapして、readで待てばいいんだね。

debug.sh
#!/bin/bash

trap 'read -p "$0($LINENO) $BASH_COMMAND"' DEBUG

echo foo
echo bar
echo bazz

こんな感じで、コマンド実行毎にエンター入力を待ってくれるよ。
$ ./debug.sh
./debug.sh(5) echo foo↩
foo
./debug.sh(6) echo bar↩
bar
./debug.sh(7) echo bazz↩
bazz

これは便利だね!