在Ubuntu on Windows上安装bashdb

Centos7.3 安装bashdb和vim bash-support插件

一. 环境准备

1.1. 系统版本和内核信息

[root]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)
[root]# uname -a
Linux localhost.localdomain 3.10.0-514.el7.x86_64 #1 SMP Tue Nov 22 16:42:41 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
 
 
  • 1
  • 2
  • 3
  • 4

1.2. 安装基础软件

[root]#yum groupinstall "Development Tools"
[root]#yum install ncurses-devel  readline-devel texinfo
[root]#yum install vim
 
 
  • 1
  • 2
  • 3

二. 文件准备

2.1. 查看bash版本

[root]# rpm -q bash
bash-4.2.46-20.el7_2.x86_64
 
 
  • 1
  • 2

2.2. 下载bashdb-4.2-0.7

通过查看文档和自己的测试,bashdb-4.2-0.7 和centos7的bash-4.2.46版本匹配,并且编译顺利.

bashdb-4.2-0.7 下载地址 http://bashdb.sourceforge.net/
备用下载地址 http://download.csdn.net/detail/shile/9740693
解压bashdb
[root]#tar xf bashdb-4.2-0.7.tar.gz -C /usr/src

三. 编译安装bashdb

3.1. 编译安装bashdb

有两种方法,区别可以看bashdb的帮助信息.

第一种编译方法

不结合bash源代码编译和安装bashdb

[root]#cd /usr/src
[root]#cd bashdb-4.2-0.7
[root]#touch $HOME/missing
[root]#touch libtoolT
[root]#./configure --prefix=$HOME 
[root]#make
[root]#make install
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
第二种编译方法

结合bash源代码编译和安装bashdb

需要准备bash源代码

a).下载bash-4.2.46-20的src.rpm(需要与bash版本号完全一样)

bash-4.2.46-20.el7_2.src.rpm http://vault.centos.org/7.3.1611/os/Source/SPackages/

b). 提取bash-4.2.46-20源代码

[root]#rpm -ivh bash-4.2.46-20.el7_2.src.rpm
[root]#cd /root/rpmbuild/SPECS
[root]#rpmbuild -bp bash.spec
 
 
  • 1
  • 2
  • 3

此时,源代码已经安装到了/root/rpmbuild/BUILD目录

c).移动bash的源代码到/usr/src

[root]#cd /root/rpmbuild/BUILD
[root]#mv bash-4.2 bash-4.2.46-20
[root]#mv bash-4.2.46-20 /usr/src
 
 
  • 1
  • 2
  • 3

d). 准备bash的源码环境

 [root]#cd /usr/src
 [root]#cd bash-4.2.46-20
 [root]#./configure  && make
 
 
  • 1
  • 2
  • 3

e). 结合bash编译安装bashdb

[root]#cd /usr/src
[root]#cd bashdb-4.2-0.7
[root]#touch $HOME/missing
[root]#touch libtoolT
[root]#./configure --prefix=$HOME --with-bash-src=/usr/src/bash-4.2.46-20
[root]#make
[root]#make install
 
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

3.2. 配置bashdb

[root]#vi ~/.bash_profile
在最后添加

MANPATH=$HOME/share/man:$MANPATH
export MANPATH
INFOPATH=$HOME/share/info
export INFOPATH
 
 
  • 1
  • 2
  • 3
  • 4

然后,生效新的设置.

[root]#. ~/.bash_profile
 
 
  • 1

设置inc文件路径.[重要]

[root]#mkdir /usr/share/bashdb/
[root]#ln -s ~/share/bashdb/bashdb-main.inc /usr/share/bashdb/
 
 
  • 1
  • 2

3.3. 使用bashdb

[root]#bash --debugger yourscript.sh  var1 var2
 
 
  • 1

一些常用的调试方法
run 运行
R 重启
l m n 列出m到n行之间的代码
b n 在第n行设断点
L 列出所有断点
d n 删除第n行的断点
D 删除所有断点
W var 观察var
n 单步执行
s 单步执行,进入函数
print $var显示var,观察用,用得最多的命令
T 观察栈
skip 跳过要执行的命令
ret 执行完到函数返回
finish 执行到程序结束
a n cmd 在第n行执行cmd命令行为
A 取消所有添加的行为
q 退出调试

四. 配置vim的bash-support插件

4.1. 下载bash-support 插件

从vim.org下载插件:

[root]#cd /usr/src
[root]#wget -O bash-support.zip http://www.vim.org/scripts/download_script.php?
src_id=9890
 
 
  • 1
  • 2
  • 3

或者 从github下载插件: https://github.com/vim-scripts/bash-support.vim

4.2. 安装bash-support Vim 插件

[root]#mkdir ~/.vim # if the directory does not exist already
[root]#cd ~/.vim
[root]#unzip /usr/src/bash-support.zip
 
 
  • 1
  • 2
  • 3

4.3. 在~/.vimrc中启动这个插件

Add the following line to the ~/.vimrc to enable the plugin for Vim editor.
把下列行添加到~/.vimrc文件来启动这个Vim编辑器的插件。

[root]#vim ~/.vimrc
filetype plugin on
 
 
  • 1
  • 2
 This is the minimal content of the file '$HOME/.vimrc'. Create one if there
    is none or use the files in $HOME/.vim/bash-support/rc as a starting point.

4.4. 使用vim编辑shell脚本

就可以使用bash-support的多种功能,详情可以查看自带帮助,好多快捷键.
在vim里面运行 :help bash-support,可以在vim里面打开手册.

五. vim配合bashdb调试

远程连接centos7,vim里面按F9调试,是在打开的xterm里面打开bashdb调试,需要
[root]#yum install xterm xorg-x11-xauth
安装完毕后,断开ssh重新连接ssh生效。同时,需要开启x转发,以及xserver。

这里写图片描述

如果只在shell直接运行bash –debugger或者bashdb命令行调试,可以不考虑上面的X相关的步骤。

在本地终端的vim里面按F9,仍然是在终端里面运行调试,也不用考虑上面的X相关的步骤。

通过查看文档和自己的测试,bashdb-4.2.0-7 和centos7的bash-4.2.46版本匹配,并且编译顺利. 使用方法: 解压bashdb [root]#tar xf bashdb-4.2-0.7.tar.gz -C /usr/src 编译安装bashdb 编译安装bashdb有两种方法,区别可以看bashdb的帮助信息. 第一种编译方法: 不结合bash源代码编译和安装bashdb [root]#cd /usr/src [root]#cd bashdb-4.2.0-7 [root]#touch $HOME/missing [root]#touch libtoolT [root]#./configure --prefix=$HOME [root]#make [root]#make install 第二种编译方法: 结合bash源代码编译和安装bashdb 需要准备bash源代码 a).下载bash-4.2.46的src.rpm bash-4.2.46-20.el7_2.src.rpm http://vault.centos.org/7.3.1611/os/Source/SPackages/ b). 提取bash-4.2.46-20源代码 [root]#rpm -ivh bash-4.2.46-20.el7_2.src.rpm [root]#cd $HOME/rpmbuild/SPECS [root]#rpmbuild -bp bash.spec 此时,源代码已经安装到了$HOME/rpmbuild/BUILD目录 c).移动bash的源代码到/usr/src [root]#cd $HOME/rpmbuild/BUILD [root]#mv bash-4.2 bash-4.2.46-20 [root]#mv bash-4.2.46-20 /usr/src d). 准备bash的源码环境 [root]#cd /usr/src [root]#cd bash-4.2.46-20 [root]#./configure && make e). 结合bash编译安装bashdb [root]#cd /usr/src [root]#cd bashdb-4.2.0-7 [root]#touch $HOME/missing [root]#touch libtoolT [root]#./configure --prefix=$HOME --with-bash-src=/usr/src/bash-4.2.46-20 [root]#make [root]#make install 3. 配置bashdb [root]#vi ~/.bash_profile 在最后添加 MANPATH=$HOME/share/man:$MANPATH export MANPATH INFOPATH=$HOME/share/info export INFOPATH [root]#. ~/.bash_profile 设置inc文件路径.[重要.] [root]#mkdir /usr/share/bashdb/ [root]#ln -s ~/share/bashdb/bashdb-main.inc /usr/share/bashdb/ 4.使用bashdb [root]#bash --debugger yourscript.sh var1 var2
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值