出现歧义时禁用 Bash 的星号补全

出现歧义时禁用 Bash 的星号补全

我的 bash 以意想不到的方式自动完成文件名。我有一个包含 2 个文件的目录:

$ ls
ssh-8ZwoymYvfDSu ssh-ha7JCIFmjUKR

当输入名称的某些前缀并按下 时<tab>,bash 将完成直到两个名称不同的点(这是预期的):

$ ls ss
$ ls ssh-

但是,当我在前缀后添加一个星号并按下时<tab>,bash 会完成其中一个文件名(即使前缀不明确,bash 也会忽略所有其他文件):

$ ls ss*
$ ls ssh-8ZwoymYvfDSu

我查看了文档,但没有找到任何有用的东西。我目前已在中设置了以下变量/etc/bash.bashrc

bind 'set colored-completion-prefix on'
bind 'set match-hidden-files off'
bind 'set show-all-if-ambiguous on'

我希望 bash 仅在名称没有歧义时才完成星号。我该怎么做?

答案1

卸载软件包 bash-completion 解决了该问题。

相关内容