より良いエンジニアを目指して

1日1つ。良くなる!上手くなる!

「入門bash」で学んだbashのデバッグ手法

入門bashを入手していたのですが、やっと読めました。

入門bash 第3版

入門bash 第3版

本当に入門だなーと思っていたら、知らんかったということが。

自分もまだまだ初心者だなと気づかされます。

シェルプログラムのデバッグ

set-o デバッグオプション 実行オプション 動作
noexec -n コマンドを実行しない
verbose -v コマンドを実行する前にecho
xtrace -x コマンドラインを処理した後にecho

f:id:rimever:20200201085904p:plain

set -o xtrace

スクリプトに書き込むことも出来ますが、デバッグオプションで利用した方がベターかなと。

擬似シグナル

シグナル 動作
EXIT シェルがスクリプトを終了した
ERR コマンドから0ではない終了ステータスが返された
DEBUG シェルが文を実行した(bash 2.0以降)
RETURN sourceまたは.で実行されたシェル関数/スクリプトが終了した(bash3.0以降)
trap 'echo exit' exit # シェルがScriptを終了した時に実行
echo 'test'

f:id:rimever:20200201091730p:plain