`

【转】bash shell的调试

阅读更多
bash shell的调试

bash --debugger script script-arguments...

习惯了vim,写bash shell也是用它,一般来说shell都比较精短,所以也没考虑什么提高效率的方法,今天无意中看见有人提到vim的一个编写bash的插件bash support,就下载了试试,果然强大。

下载后按说明安装,gvim test.sh打开就看到bash菜单下强大的功能了,大部分虽然我们都用不到,至少我用不到,有的语法看都没看到过,不过可以当参考手册用。。。。

接下来,我们需要调试功能,要安装bashdb,sudo apt-get install bashdb,然后装完后按照网上说法,bash support插件默认bash的调试设置路径和bashdb真正的安装目录不一致,建立一个链接就好了。

sai@sai-laptop:~$ whereis bashdb
bashdb: /usr/bin/bashdb /usr/share/bashdb /usr/share/man/man1/bashdb.1.gz

sai@sai-laptop:~$ sudo mkdir /usr/local/share/bashdb

sai@sai-laptop:~$ sudo ln -s /usr/share/bashdb/bashdb-main.inc /usr/local/share/bashdb/bashdb-main.inc

然后就OK了,随便写一个shell,F9开始调试。

一些常用的调试方法

run 运行

r 重启

w看附近的代码

. 列出当前运行到的代码

l m n 列出m到n行之间的代码

b n 在第n行设断点

L 列出所有断点

d n 删除第n行的断点

D 删除所有断点

W var 观察var

n 单步执行

s 单步执行,进入函数

p $var显示var,观察用,用得最多的命令

T 观察栈

skip 跳过要执行的命令

ret 执行完到函数返回

finish 执行到程序结束

a n cmd 在第n行执行cmd命令行为

A 取消所有添加的行为

q 退出调试

详细的bashdb文档(英文)



http://bashdb.sourceforge.net/bashdb.html#Invocation

http://lug.fh-swf.de/vim/

from:
http://www.cnblogs.com/xuxm2007/archive/2011/10/20/2218608.html
分享到:
评论

相关推荐

    linux shell 调试工具

    linux shell 调试工具 bash 可以设置断点、单步跟踪; 查看指令、变量值 等等 安装: tar -xvfz bashdb-5.0-1.1.2.tar.gz cd ./ bashdb-5.0-1.1.2 ./configuration make make install 使用: bashdb + 需要调试的脚本...

    vscode-bash-debug:VSCode的Bash Shell调试器扩展(基于bashdb)

    对于学习bash shell用法和编写简单脚本很有用。 有用的提示:shellcheck扩展在调试之前发现常见的脚本错误非常有用。 用法 选择“调试”->“添加配置”以添加自定义调试配置(下拉菜单,路径输入等)。 选择Debug...

    高级Bash Shell脚本编程指南

    这本使用大量的例子详细地介绍了Bash 的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解Bash 的所有特性,在书中还有许多练习可以引导你思考,以得到更深入的知识。无论你是新手还是老手,或是使用...

    高级Bash脚本编程指南_手册CHM版

    这本使用大量的例子详细地介绍了Bash的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解Bash的所有特性,在书中还有许多练习可以引导你思考,以得到更深入的知识。无论你是新手还是老手,或是使用...

    基于lex的shell简单实现

    基于lex词法分析,进行输入分析,提取unix相应的系统调用,以及参数,作为shell文件的输入,进行管道,后台,文件重定向,以及基本命令的进行,实现了unix系统中基本的shell功能。...本程序在minix环境下运行调试完成

    学习bash 中文第二版

    第二版还加入了一些新命令,增强了安全性,也加入了readline,增强了配置和安装过程,并且增加了附助编程的bash shell调试器。 经过不懈的实践和对实例及问题进行深入的研究后,你会发现《学习bash》对Linux和其他...

    学习 bash 第二版(英文版).chm

    《学习 bash 第二版(英文版)》...第九章:调试 shell 程序。 第十章:bash 管理。 第十一章:用户系统 bash。 附录一:相关 shell。 附录二:参考列表。 附录三:可载入命令。 附录四:语法。 附录五:获得示例程序。

    Linux Shell编程从初学到精通(第2版)[2015.1].zip

    本书结合大量的示例,系统、全面地介绍了bash Shell脚本编程的语法、命令、技巧、调试等内容,在书中还有很多练习可以引导读者思考,力求使读者掌握Linux bash Shell编程的所有特性。 本书结构清晰、易教易学、实例...

    Shell学习之Bash

    本书介绍了shell编程,如何使用bash的编程特性完成各种功能,以及流程控制、信号处理、命令处理等方面,还有如何调试程序,如何获取、安装、配置和定制bash等内容。

    bash-cli-template:用于可读性CLI的Bash Shell脚本模板

    用于可读性CLI的Bash Shell脚本模板 特征 bash-cli-template允许您编写可读性CLI脚本 bash-cli-template为必需和可选命令参数提供内置验证 bash-cli-template通过内置的可读性CLI流程简化了脚本用户可以理解命令用法...

    Linux Shell编程从初学到精通 第2版

    第1章 Shell脚本编程概述 1 第2章 Linux文件系统和文本编辑器 12 第3章 正则表达式 43 第4章 sed命令和awk编程 64 第5章 文件的排序、合并和分割 105 第6章 变量和引用 133 ...第17章 bash Shell编程范例 420

    精通linux-shell编程教程

    《精通linux-shell编程教程》结合大量的示例,系统、全面地介绍了bash Shell脚本编程的语法、命令、技巧、调试等内容,在书中还有很多练习可以引导读者思考,力求使读者掌握Linux bash Shell编程的所有特性。

    学习bash(第三版)_英文版

    bash是自由软件基金会发布的“Bourne Again Shell”的缩写。它是流行的UNIX Bourne shell的免费可用替代产品,供全球Linux用户...读者还将学习流程控制、信号处理以及命令行处理和I/O方面的内容以及如何调试bash程序。

    VSCode Debug 配置文件

    VSCode Debug 配置文件

    bashdb4.4适用于bash4.4版本以上

    1.1 bashdb 一款bash shell调试工具 1.2. 解压 #tar xvf ./bashdb-4.4-0.93.tar.bz2 1.3. 进入源码目录 #cd bashdb-4.4-0.93 2. 编译安装 2.1. 安装编译工具 #dnf install gcc make 2.2. 安装依赖 #dnf ...

    高级bash编程指南.pdf

    了Bash 的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解Bash 的所有特性, 在书中还有许多练习可以引导你思考,以得到更深入的知识。无论你是新手还是老手,或是使用其他 语言的程序员,我能肯定...

    高级Bash脚本编程指南(中文版)

    了 Bash 的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解 Bash 的所有特性, 在书中还有许多练习可以引导你思考,以得到更深入的知识。无论你是新手还是老手,或是使用其他 语言的程序员,我能...

    Shell脚本专家指南

    Shell脚本专家指南》旨在为Linux、Unix以及OSx系统管理员提供短小精悍且功能强大的shell实现解决方案,教会读者如何使用现有调试器调试shell脚本。全书分为3个部分:脚本技术基础、系统交互和高级技术、有用的脚本...

    高级Bash 脚本编程指南

    了Bash 的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解Bash 的所有特性, 在书中还有许多练习可以引导你思考,以得到更深入的知识。无论你是新手还是老手,或是使用其他 语言的程序员,我能肯定...

    Shell高级编程(中文版)

    了 Bash 的语法,各种技巧,调试等等的技术,以循序渐进的学习方式,让你了解 Bash 的所有特性, 在书中还有许多练习可以引导你思考,以得到更深入的知识。无论你是新手还是老手,或是使用其他 语言的程序员,我能...

Global site tag (gtag.js) - Google Analytics