我是 Unix 新手,今天买了一本《Unix 编程环境》。我正在尝试书中的内容。但其中一些并没有按预期工作,例如:要删除一行并重新输入,应该使用 @ 字符:
书
$ ddtae@
date
Thu Nov 28 18:12:47 IST 2013
我的终端
$ ddtae@
ddtae@: command not found
另一个示例是使用 # 删除最后一个字符
书
$ dd#att#e#e
以日期形式出现并打印。
我的终端
$ dd#att#e#e
dd#att#e#e: command not found
在我的系统中 # 用于注释
尽管他们提到这些字符是依赖于系统的。我怎样才能找到系统所需的字符来执行上述两个任务呢?
答案1
这本书仍然是正确的,因为它说这些事情与系统有关。也就是说,在 bash(至少是 zsh)中Ctrl+u应该删除光标左侧的所有内容,而简单的Backspace(或Ctrl+ h) 应该删除光标左侧的一个字符。
至于发现这样的事情:
如果您正在使用 bash(ubuntu 上的默认设置),man bash
尤其是“READLINE”部分会有一些指针。
使用 zsh,您可以使用此命令找到已配置的键绑定列表bindkey
。
答案2
说实话,我不确定他们的终端功能会有多大用处。Bash 从那时起就发生了一些变化……等等,Bash 直到 89 年才出现。
这是一本好书(我在大学时曾尝试阅读,但失败了),但您不能再将书中的示例视为书面形式。不过,许多 C 语言的东西应该仍然有效。