Shell中的调试

1shell语法检测:

sh -n ./test.sh   (sh/bin/sh  是系统提供的可执行脚本)

2shell的普通调试:

sh -x ./test.sh

进入调试模式后,Shell依次执行读入的语句,产生的输出中有的带加号,有的不带.

带加号表示该条语句是Shell执行的。

不带加号表示该语句是Shell产生的输出。

3shell的中断调试:

shell中添加一个睡眠,保证可以有时间中断调试 sleep 3 睡眠3秒执行下一个语句

在调试过程中可以按Ctrl + Z中断调试,观察结果,然后再按fg键回车继续调试即可。

(先按f在按g)

4、使用调试工具-bashdb

【功能】: 类似于GDB的调试工具,可以完成对shell脚本的断点设置,单步执行,变量观察等许多功能

【场合】: 脚本比较大时,通过-x参数调试时已不方便时.

【用法】:

bashdb -c script.sh

bashdb script.sh

bashdb --debugger script.sh

【说明】:该工具默认未安装,当前最新版本为:4.4-0.92,下载目录:http://bashdb.sourceforge.NET/

1). 如果是ubuntu系统,直接用apt-get来安装

apt-get install bashdb

2). 如果是Centos等版本,使用windows下载后,编译,安装,大致步骤如下:

下载:https://sourceforge.net/projects/bashdb/files/bashdb/

[root@hadoop007 ~]# tar -xzvf bashdb-4.4-0.92.tar.gz -C /usr/src

[root@hadoop007 ~]# cd /usr/src/bashdb-4.4-0.92

[root@hadoop007 ~]# ./configure

[root@hadoop007 ~]# make install

【常用命令】

l             列出当前行上下各5行,总共10

q|quit        退出

h             帮助

/for/         向后搜索字符串for

?for?         向前搜索字符串for

x 1+2         计算算术表达式的值

!! ls -laRt   执行shell命令

n             执行下一条语句

s 4           单步执行4次,如遇到函数则进入函数里面

b 4           在行号4处设置断点

del 4         删除行号为4的断点

c 10          一直执行到行号10处   

R|run         重新执行当前调试脚本

finish        执行到程序最后


bashdb下载:http://download.csdn.net/download/itqingliang/9974814





发布了67 篇原创文章 · 获赞 68 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/ITqingliang/article/details/77943881