unix - 使箭头键和删除键在 KornShell 命令行中工作

标签 unix shell ksh

我是 Unix 的新手,正在使用 sun solaris(我认为是 v10)。我的 shell 设置为 KornShell (ksh)。

我想知道如何使箭头键和删除键在命令行中工作。我已经完成了 set -o emacs 并且退格键有效,但箭头键和删除键无效。

是否可以设置向上和向下箭头键来循环浏览命令行历史记录?

最佳答案

对于箭头键,您可以将其放入主目录中的 .kshrc 文件中:

set -o emacs
alias __A=`echo "\020"`     # up arrow = ^p = back a command
alias __B=`echo "\016"`     # down arrow = ^n = down a command
alias __C=`echo "\006"`     # right arrow = ^f = forward a character
alias __D=`echo "\002"`     # left arrow = ^b = back a character
alias __H=`echo "\001"`     # home = ^a = start of line
alias __Y=`echo "\005"`     # end = ^e = end of line

请注意,等号左侧的字母前有两个下划线字符。在等号的右侧,目标是获得分配给别名的正确控制字符。该脚本执行此操作的方式是运行命令(通过 back-tics)
echo "\020"

获取分配给 __B 的 control-n 字符。

关于unix - 使箭头键和删除键在 KornShell 命令行中工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1623256/

相关文章:

linux - 使用 sed 命令重复字符串中的数字两次

linux - 使用 sed 匹配第 5 个字段中的文本

linux - 递归覆盖bash中的rc文件

bash - "source"shell 脚本中的命令不起作用

shell - 创建文件并设置其权限的单个命令

linux - 使用管道时如何在没有警告的情况下使用 zcat

linux - shell pipe 如何处理死循环

shell - 为什么参数的顺序在这里很重要?

bash - 给开发者的 linux/bash 提示?

shell - 从另一个脚本调用时获取当前脚本名称