《bash调试器与管理实用指南》
1. bash调试器(bashdb)概述
bashdb是一个用于调试shell脚本的工具,它在处理断点时增加了一定的复杂性,但这种复杂性是值得的,因为它能够显示脚本和断点的位置,这是调试器的重要功能。
2. 断点条件(Break conditions)
bashdb提供了另一种跳出脚本执行的方法——断点条件。用户可以指定一个字符串作为断点条件,该字符串将被作为命令进行评估。如果评估结果为真(即返回退出状态码0),调试器将进入命令循环。
断点条件可以是任何shell代码行,因此具有很大的灵活性。例如,可以在变量达到某个值时中断,如(( $x < 0 ));或者在特定文本被写入文件时中断,如grep string file。
设置断点条件的命令是bc string,移除断点条件则只需输入bc(无参数),这会将断点条件设置为空字符串,从而忽略该条件。
_steptrap函数仅在$_brcond不为空时评估断点条件。如果断点条件评估为0,if子句为真,_steptrap将调用命令循环。
3. 执行跟踪(Execution tracing)
调试器的最后一个功能是执行跟踪,可通过x命令启用。_xtrace函数通过