複雑な bash スクリプトを作成するときは、次のコマンドをよく使用します。
set -x
スクリプトが動作していない場合にスクリプトをデバッグできるようにします。
ただし、デバッグモードで大量のガベージを生成するUI関数がいくつかあるため、次の行に沿って条件付きでラップしたいと思います。
ui~title(){
DEBUG_MODE=0
if [ set -x is enabled ] # this is the bit I don't know how to do
then
# disable debugging mode for this function as it is not required and generates a lot of noise
set +x
DEBUG_MODE=1
fi
# my UI code goes here
if [ "1" == "$DEBUG_MODE" ]
then
# re enable debugging mode here
set -x
fi
}
問題は、デバッグ モードが有効かどうかを知る方法がわからないことです。
可能だと思いますが、いくら探しても見つからないようです。
ヒントを事前にありがとう