Linux Bash调试调用堆栈
我使用一个通用过程来捕获和描述错误或异常情况,而不是通常的“2>…”错误构造 我们的想法是采用类似以下简化版本的程序:Linux Bash调试调用堆栈,linux,bash,Linux,Bash,我使用一个通用过程来捕获和描述错误或异常情况,而不是通常的“2>…”错误构造 我们的想法是采用类似以下简化版本的程序: function debug(){ echo "Fatal Error: $PWD:$BASH_SOURCE:$LINENO $*" .... exit 1 } 然后,如本例所示: [ -z "$PARAMETER" ] && debug The parameter was not provided 这些问题是: BASH_SOUR
function debug(){
echo "Fatal Error: $PWD:$BASH_SOURCE:$LINENO $*"
....
exit 1
}
然后,如本例所示:
[ -z "$PARAMETER" ] && debug The parameter was not provided
这些问题是:
是正在运行的源代码。如果过程“debug”是全局的,则其思想是显示调用源BASH_SOURCE
是执行扩展的行,没有呼叫地址LINENO
是否有任何方法可以在bash上获取调用堆栈?如果在脚本中添加以下行,系统将显示脚本的执行流程:
set -x
您可以为此使用bash内置命令“caller”。 链接-->