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
分享到:
相关推荐
**高级Bash Shell指南中文版**是一本专为学习Bash Shell编程的深入教程,适合初学者和有经验的程序员。Bash Shell是Linux和大多数UNIX系统中最常用的交互式命令行界面和脚本编程环境。它作为用户与操作系统之间的...
**高级Bash Shell指南** Bash Shell,全称Bourne-Again SHell,是Linux和类UNIX系统中最常用的命令行解释器。它基于原始的Shell编程语言,由Steve Bourne开发,而Bash则是其增强版,由GNU项目维护。这份"Advanced ...
此外,新版本还增加了一些新命令,提升了安全性,扩展了readline库,增强了配置和安装过程,并且引入了新的附录,关于bash Shell调试技术的内容也得到了扩充。 对于系统管理员来说,这本书也提供了宝贵的建议,指导...
此外,bash源码中的错误处理机制、调试设施以及配置选项也是值得探究的。通过理解这些,你能够编写出更加健壮和高效的shell脚本,甚至可以对bash本身进行定制和扩展。 总而言之,bash 4.2源代码是学习shell编程和...
### PDF电子书《Bash Shell学习笔记》知识点总结 #### 1. 引言 - **Shell**: Shell是一种命令解释器也是编程语言,为用户提供与操作系统内核交互的界面,支持用户执行各种命令和工具。 - **Bash**: 本书重点介绍的...
对于学习bash shell用法和编写简单脚本很有用。 有用的提示:shellcheck扩展在调试之前发现常见的脚本错误非常有用。 用法 选择“调试”->“添加配置”以添加自定义调试配置(下拉菜单,路径输入等)。 选择Debug...
**Bash Shell教程** Bash Shell,全称Bourne-Again SHell,是Linux和类Unix系统中默认的命令解释器,它为用户提供了一个与操作系统交互的接口。Bash Shell不仅是一个强大的命令行工具,同时也是一种编程语言,允许...
文章内容还提到了一些实用的命令来查找系统中bash的位置,如"locate", "find"和"whereis",这些命令对于初学者在配置或调试环境时可能会很有用。如果bash没有被找到,可能需要手动安装BASH软件包。 在编写脚本时,...
**高级Bash Shell脚本** Bash Shell脚本是一种强大的工具,用于自动化Linux和Unix系统中的任务。它允许用户通过编写一系列命令来执行复杂的任务,而无需深入了解编程语言的复杂性。这份“高级Bash-Scripting Guide...
本教程将从基础入门开始,介绍Bash Shell的基本语法、函数、变量、运算符和调试等内容,帮助读者建立起扎实的Linux编程基础。 首先,编写一个最简单的Hello World程序是学习任何编程语言的第一步,同样也适用于学习...
**高级Bash Shell手册** Bash(Bourne-Again SHell)是Unix/Linux系统中最常用的命令行解释器,它提供了丰富的功能,使得用户能够高效地进行系统管理和自动化任务执行。高级Bash Shell手册是一本深入讲解Bash特性和...
### Bash Shell 学习笔记知识点概览 #### 1. 引言 - **Shell**:作为用户与操作系统之间的桥梁,Shell提供了一种与系统进行交互的方式,支持用户执行命令和编写脚本来自动化任务。 - **Bash**:是Bourne-Again ...
《Linux高级Bash Shell脚本编程指南》是一本专为Linux用户深入理解并掌握Bash Shell脚本编程的宝贵资源。Bash(Bourne-Again SHell)是Unix及类Unix系统中最常用的命令行解释器,它为用户提供了一种强大而灵活的方式...
在Linux系统中,Bash Shell是默认的命令行解释器,它为用户提供了与操作系统交互的强大工具。"高级Bash Shell编程书(ABS)"是一个专门为想要深入理解和掌握Bash Shell编程技术的人准备的资源。这本书,无论是英文版...
Bash Shell调试与优化** - **Shell脚本调试**:`set -x`用于开启命令行追踪,`set -v`开启命令行打印,`set -e`使脚本在遇到错误时立即退出。 - **性能优化**:避免不必要的子shell,减少命令的使用,合理利用缓存...
**鸟哥的BASH Shell编程手册**是一本专为Linux用户设计的编程教程,主要涵盖了BASH Shell脚本的编写与应用。BASH(Bourne-Again SHell)是GNU项目下的一个Unix/Linux系统默认的命令解释器,它继承了Unix传统的Shells...
**高级Bash Shell脚本编写** Bash Shell脚本是一种强大的工具,用于自动化Linux和Unix系统中的任务。它基于Bourne Shell,是大多数Linux发行版的默认Shell。"Advanced Bash Shell Scripting"主题深入探讨了如何充分...
### bash shell 基础编程语法 #### 一、bash shell 概述 **Shell**是一种用户与操作系统之间交互的接口。在用户登录系统后,`init`进程会为每位用户运行一个称为“shell”的程序。Linux下的shell并非只有单一形式...