最近发现一个调试shell脚本的好助手,bashddb. 下载地址: https://sourceforge.net/projects/bashdb/files/ 然后选择bashdb
然后在自己电脑上看bash的版本
bash --version
bash --version
GNU bash, version 5.0.17(1)-release (x86_64-pc-linux-gnu)
Copyright (C) 2019 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
我的是5.0.17,那么我选择5.0-1.1.2版本的bashdb下载。
./configure
make
make install
就可以用了
bashdb --debug xx.sh
然后输入下列bashdb命令: 一、列出代码和查询代码类: l 列出当前行以下的10行
- 列出正在执行的代码行的前面10行
. 回到正在执行的代码行 w 列出正在执行的代码行前后的代码 /pat/ 向后搜索pat ? pat?向前搜索pat 二、Debug控制类: h 帮助 help 命令 得到命令的具体信息 q 退出bashdb x 算数表达式 计算算数表达式的值,并显示出来 !! 空格Shell命令 参数 执行shell命令 使用 bashdb进行debug的常用命令(cont.) 三、控制脚本执行类: n 执行下一条语句,遇到函数,不进入函数里面执行,将函数当作黑盒 s n 单步执行n次,遇到函数进入函数里面 b 行号n 在行号n处设置断点 del 行号n 撤销行号n处的断点 c 行号n 一直执行到行号n处 R 重新启动当前调试脚本 Finish 执行到程序最后 cond n expr 条件断点
|