shellデバッグ


shellデバッグ
trapコマンド:shellスクリプト実行による3つの擬似信号の生成
EXIT
1つの関数から終了するか、スクリプト全体が実行されます.
ERR
1つのコマンドからゼロ以外のステータスが返された場合(コマンドの実行が成功しなかったことを意味します)
DEBUG
スクリプトの各コマンドが実行される前に
shellスクリプトデバッグ方法1
使用中に変数値を追跡する必要があり、echo印刷が不器用で、debug信号をキャプチャすることですべての変数を追跡することができます.

    trap 'echo "line:$LINENOxxxx$a $b $c "' DEBUG
    a=1
    if [ "$a" -eq 1 ]
    then
     b=2
    else
     b=1
    fi
    c=3
    echo "end" 
            (export DEUBG=true      )
#! /bin/bash
TRACE()
{
	if [ "$DEBUG" = "true" ]; then
    	$@
	fi 
}
a=1
TRACE echo "a=$a"
if [ "$a" -eq 1 ]
then 
	b=2
else
	b=1
fi
TRACE echo "b=$b"
	c=3
TRACE echo "c=$c"