Jus*_* L. 15 bash autocomplete
以前,如果我~/bi
Tab之前输入,它会变成~/bin
. 然而,今天它开始~/bi
Tab变成/home/username/bin
.
我宁愿使用前者,但我不确定发生了什么......我确实添加了一个脚本来编辑我的 bash 完成,但我从我的中删除了它~./bashrc
并重新启动了服务器。
有谁知道什么会导致这种情况发生?或者我怎么改回来?
编辑 所以我发现了可能导致这种情况的原因......它与/etc/bash_completion
诸如此类的事情有关。当我这样做时bind -v
,它显示波浪号扩展已关闭。
所以我想如果我编辑这个(有点像黑客),它就会消失。但这并不能真正满足任何事情——这种变化最初是如何发生的?我从来没有运行过任何东西sudo
,在多次关机和重新启动后,这种行为仍然存在。
Geo*_*e M 10
您没有提到您使用的是什么发行版(请在您的问题中包含该信息),但在我的系统上运行更新后,我看到了类似的行为。
我最好的猜测是当您运行系统更新时,或者如果它自动运行,则“bash-completion”包已更新,从而添加了此行为。在 Red Hat 衍生产品中,您可以在/usr/share/doc/PACKAGENAME
. 在 my 中/usr/share/doc/bash-completion-1.3/CHANGES
,新更改通过更改日志格式列出。
/etc/bash_completion
您可以创建~/.inputrc
以禁用波浪号扩展,而不是修改,这可能会在下一次包升级时被覆盖。我确认 bash_completion-1.3.6 会在我的 Fedora 16 机器上兑现这一点。
set expand-tilde off
Run Code Online (Sandbox Code Playgroud)
编辑
您的里程可能因~/.inputrc
。Bash 具有可以根据您尝试完成的内容(例如,程序与文件或目录)覆盖该行为的函数。这种讨论自动填入一个当上超级用户SE解决了类似的问题vim
命令。在这种情况下,原始发布者通过向他的~/.bashrc
.