Shell脚本调试技巧

作者: 5473 分类: Shell 发布时间: 2017-06-13 21:38 阅读数:496

方式一】: 通过echo方式
功能: 最简单的调试方法,可以在任何怀疑出错的地方用echo打印变量
场合: 所有怀疑可能有问题的地方
示例: shell>echo $VAR

方式二】: 通过选项方式[-ncxv]


也可使用以下方式

-n
功能: 读取shell脚本,但不实际执行
场合: 用于测试Shell脚本中是否存在语法错误
示例: shell> bash -n script.sh


-c
功能: 该选项使Shell解析器从字符串而非文件中读取并执行命令
场合: 当需要调试一小段脚本的执行结果时,非常方便
示例: shell> bash -c 'x=1;y=2;let z=x+y;echo "z=$z"'


-v
功能: 区别于-x参数,该选项打印命令行的原始内容,-x参数打印出经过替换后命令行的内容
场合: 仅想显示命令行的原始内容
示例: shell> bash -v script.sh


-x
功能: 提供跟踪执行信息,将执行脚本的过程中把实际执行的每个命令显示出来,行首显示+, +后面显示经过替换之后的命令行内容,有助于分析实际执行的是什么命令.
场合: 是调试Shell脚本的强有力工具,是Shell脚本首选的调试手段
示例: shell> sh -x script.sh

方式三】: 使用调试工具-bashdb
功能:类似于GDB的调试工具,可以完成对shell脚本的断点设置,单步执行,变量观察等许多功能
场合:脚本比较大时,通过-x参数调试时已不方便时
示例:
shell> bashdb -c script.sh
shell> bashdb script.sh
shell> bashdb --debugger script.sh
说明:该工具默认未安装,下载:http://bashdb.sourceforge.net/
1). 如果是ubuntu系统,直接用apt-get来安装
shell>apt-get install bashdb
2). 如果是Readhat等版本,使用wget下载后,编译,安装,大致步骤如下:
shell>wget https://sourceforge.net/projects/bashdb/files/bashdb/4.3-0.91/bashdb-4.3-0.91.tar.bz2
shell>tar -xzvf bashdb-4.3-0.91.tar.bz2
shell>cd bashdb-4.3-0.91
shell>./configure
shell>make && make install
常用命令:

  • l             列出当前行以下的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        执行到程序最后


如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!

发表评论

电子邮件地址不会被公开。 必填项已用*标注