我是Unix新手,正在使用sun solaris(我认为是v10).我把我的shell设置为KornShell(ksh).
我想知道如何在命令行中制作箭头键并删除键工作.我已经设置了-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
请注意,等号左侧的字母前面有两个下划线字符.在等于的右侧,目标是获得分配给别名的适当控制字符.这个脚本的方式是运行命令(通过后台)
echo "\020"
获取分配给__B的control-n字符.
我使用了以下并且工作正常:
set -o emacs
注意:这些是实际的控制字符.在vi中,键入i ctrl-v然后键入ctrl-P(如果你想要一个ctrl-p)
alias _A=^P alias _B=^N alias _D=^B alias _C=^F
并添加以下行:
alias __A=^P alias __B=^N alias __D=^B alias __C=^F
不要打它.让管理员将您的默认shell更改为bash.bash包含在Solaris 10中,具有高度ksh兼容性,并且它支持您喜欢的键映射.您只需键入以下内容即可启动bash:
$ bash
如果您的管理员没有帮助,您可以执行.profile.以下是管理员将user1更改为bash(以root身份)的操作:
# passwd -e user1 Old shell: /bin/ksh New shell: /usr/bin/bash <- You type this, use whence bash to look up the path passwd: password information changed for user1