我是新来的Unix和正在使用的Sun Solaris(V10,我认为)。 我有我的shell设置为KornShell(KSH)。
我想知道如何使箭头键,并在命令行删除键工作。 我已经做了设置-o Emacs和退格的作品,但没有方向键和删除键。
也可以设置上下贯通的命令行历史箭头键循环?
我是新来的Unix和正在使用的Sun Solaris(V10,我认为)。 我有我的shell设置为KornShell(KSH)。
我想知道如何使箭头键,并在命令行删除键工作。 我已经做了设置-o Emacs和退格的作品,但没有方向键和删除键。
也可以设置上下贯通的命令行历史箭头键循环?
对于箭头键,你可以把这个到您的.kshrc文件在你的home目录:
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控制-n字符。
我用下面并工作正常:
set -o emacs
注意:这些都是实际控制字符。 在vi,I型CTRL-V CTRL然后-P(如果u想要一个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打坏。 庆典是包含在Solaris 10上,是高度兼容KSH,它支持你喜欢的键映射。 您可以只用打字推出的bash:
$ bash
你可以Exec的庆典你的.profile文件,如果你的管理员是没有帮助的。 这里是你的管理员会做些什么来改变USER1来砸(根)什么:
# 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
默认KSH可能是ksh88 - 不支持别名__键盘宏。 ksh93的一样。 基本上,如果它不工作 - 你可能正在使用ksh88。