![bash 历史完成后,“s”字符在命令提示符上不起作用](https://linux22.com/image/627435/bash%20%E5%8E%86%E5%8F%B2%E5%AE%8C%E6%88%90%E5%90%8E%EF%BC%8C%E2%80%9Cs%E2%80%9D%E5%AD%97%E7%AC%A6%E5%9C%A8%E5%91%BD%E4%BB%A4%E6%8F%90%E7%A4%BA%E7%AC%A6%E4%B8%8A%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8.png)
我使用的是 Centos 6.3,并使用以下命令定制了我的 .bash_profile,以帮助完成历史记录(并为提示符着色):
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
bind '"show-all-if-ambiguous on"'
bind '"set completion-ignore-case on"'
export PS1="[\[\e[32;1m\]\u@\h \[\e[33;1m\]\W\[\]]\[\e[37;1m\]\$ "
[ -z "$PS1" ] && return
shopt -s checkwinsize
现在,当我在命令提示符下输入任何带有“s”字符的单词时,我都看不到该字符,除非我按空格键或继续输入。我该如何解决此问题?
答案1
您需要从两个命令中删除多余的引号,bind
并将set
指令添加到其中一个命令中:
bind 'set show-all-if-ambiguous on'
bind 'set completion-ignore-case on'