![旧 Unix 系统上的 KSHV:搜索历史记录](https://linux22.com/image/63683/%E6%97%A7%20Unix%20%E7%B3%BB%E7%BB%9F%E4%B8%8A%E7%9A%84%20KSHV%EF%BC%9A%E6%90%9C%E7%B4%A2%E5%8E%86%E5%8F%B2%E8%AE%B0%E5%BD%95.png)
我已经在旧的unix上设置了良好的ksh环境
PATH=$PATH:/usr/lib/acct:/usr/sbin:/sbin:/usr/ucb
export PATH
EDITOR=vi
FCEDIT=vi
export EDITOR
export FCEDIT
HOSTNAME=`uname -n`
HISTSIZE=500
LOGNAME=myname
TERM=386AT
PS1="\$LOGNAME@\$HOSTNAME:\$PWD\$ "
set -o emacs
stty 38400 intr ^C kill ^U tabs ixon ixoff ixany
setcolor white black
alias type="whence -v"
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 charactoe
alias __H=`echo "\001"` # home = ^a = start of line
alias __Y=`echo "\005"` # end = ^e = end of line
有了这个,我就有了带有箭头的搜索历史记录等,我的问题是:是否可以为 ctrl+r 搜索历史记录创建别名?旧的 ksh 支持搜索历史记录吗?我使用的是 unix svr4 ATT
答案1
要在 ksh 命令历史记录中向后搜索,Ctrl-R即使您运行的是 ksh88 等旧版本,在 emacs 模式下也应该可以工作。它不是像 bash 那样的增量逐字符搜索。您必须输入Ctrl-R,然后输入要搜索的字符串,然后输入Enter。