Sun Studio 12:使用 dbx 调试程序

第 19 章 将 dbx 与 Korn Shell 配合使用

dbx 命令语言基于 Korn Shell (ksh 88) 语法,包括 I/O 重定向、循环、内置运算、历史记录及命令行编辑。本章列出了 ksh-88 和 dbx 命令语言之间的差别。

如果启动时未找到 dbx 初始化文件,dbx 会采用 ksh 模式。

本章由以下部分组成:

未实现的 ksh-88 功能

以下 ksh-88 功能尚未在 dbx 中实现:

ksh-88 的扩展

dbx 添加了以下功能作为扩展:

重命名命令

某些 dbx 命令已重命名,以避免与 ksh 命令发生冲突。

编辑函数的再绑定

bind 命令允许重绑定编辑函数。可以使用命令显示或修改 EMacs 风格编辑器和 vi 风格编辑器的键绑定。bind 命令的语法为:

bind

显示当前编辑键绑定 

bind key=definition

key 绑定到 definition

bind key

显示 key 的当前定义

bind key=

删除 key 绑定

bind -m key=definition

key 定义为具有 definition 的宏

bind -m

bind 相同

其中:

key 为键名。

definition 为要绑定到键的宏的定义。

以下是 EMacs 风格编辑器的其中一些更重要的缺省键绑定:

^A = 行开始 

^B = 后一个字符 

^D = 磁带结束符或删除 

^E = 行结束 

^F = 前一个字符 

^G = 终止 

^K = 删除到行末 

^L = 刷新 

^N = 下一个历史命令 

^P = 上一个历史命令 

^R = 搜索历史命令 

^^ = 引号 

^? = 向后删除字符 

^H = 向后删除字符 

^[b = 后退一个字 

^[d = 向前删除字 

^[f = 向前一个字 

^[^H = 向后删除字 

^[^[ = 完成 

^[? = 列出命令 

以下是 vi 风格编辑器的其中一些更重要的缺省键绑定:

a = 追加 

A = 行尾追加 

c = 更改 

d = 删除 

G = 行跳转 

h = 后一个字符 

i = 插入 

I = 行首插入 

j = 后一行 

k = 前一行 

l = 行向前 

n = 下一个匹配 

N = 前一个匹配 

p = 后置 

p = 前置 

r = 重复 

R = 替换 

s = 代替 

u = 取消操作 

x = 删除字符 

X = 删除前一字符 

y = yank 

~ = 格式调换 

_ = 最后参数 

* = 展开 

= = 列出展开式 

- = 前一行 

+ = 后一行 

sp = 前一字符 

# = 注释掉命令 

? = 从开始搜索历史命令 

 

/ = 从当前开始搜索历史命令 

 

在插入模式下,下列按键是特殊的:

^? = 删除字符 

^H = 删除字符 

^U = 删除行 

^W = 删除字