在我的 bash 中我得到了如下行为:
当我输入:
cd ~/projects/p <press tab>
bash 将该~
部分扩展为我的主目录的全名:
cd /home/kender/projects/p
我记得前段时间没有发生这种情况。可以在 bash 中配置吗?
答案1
您现在很可能正在使用/etc/bash_completion
– 检查它是否由您的配置文件或 bashrc 加载。
它包含一个函数_expand
,用路径替换波浪号“以避免当以波浪号开头的 $cur 被输入到命令中并最终被引用而不是扩展时出现问题”(来自函数中的注释)。
如果你仍然想保留波浪线,你可以看看这个_filedir
函数。靠近顶部有一行
_expand || return 0
删除它或使用前缀禁用它#
。然而,这是一个丑陋的黑客行为,你可能会遇到上面提到的问题。