Bashのデバッグログ(トレース)をかっこよくするだけです。
man bash
を読んでPS4をさらに強化してみた感じ。
red=$'\e[1;31m'
grn=$'\e[1;32m'
yel=$'\e[1;33m'
blu=$'\e[1;34m'
mag=$'\e[1;35m'
cyn=$'\e[1;36m'
end=$'\e[0m'
export PS4='+(v\V ${yel}\#${end} ${cyn}\t${end} ${mag}${BASH_SOURCE}:${LINENO}${end}): ${blu}${FUNCNAME:+$FUNCNAME()}${end}: '
エディタでもログでもカラフルだとテンション上がりますよね。
おまけ
sx(){
: toggle "set -x/+x" by one command
: e.g. sx
[[ ${sx_status} =~ enabled ]] && set +x && printf "\n\n${grn}Debugging disabled.${end}\n\n" && sx_status=disabled && return 0
[[ ${sx_status} =~ disabled| ]] && set -x && printf "\n\n${red}Debugging enabled.${end}\n\n" && sx_status=enabled && return 0
}