在我的工作科学 Linux 6.2 机器上,我经常开始在如下所示的目录中输入内容,然后使用制表符补全来完成它:
~/mydir
但是当我点击 tab 时,它就变成了
\~/mydirectory/
开头有一个额外的斜杠。为什么会这样?我能避免吗?这很麻烦,因为使用 cd 等无法处理额外的斜杠,我必须从实际的主目录开始,如下所示
/home/username/
在这些电脑上。
编辑
实际上,这个问题并不是出现在每个目录中,只有一个特定的目录,我问的时候没有意识到这一点。我在这个问题的回答中给出了问题的原因。
答案1
Linux 不应用任何制表符补全。但 shell 却应用。
这些框具有错误配置的完成系统,或者它们可能错误应用,例如将 zsh 完成到 bash 或反之亦然。
- 尝试启动另一个 shell(bash、zsh)并为该 shell 获取 /etc/profile*
- 无需配置文件即可登录。ssh host.com bash --noprofile --norc
这将帮助您找出问题所在。我确信问题出在主机或用户的设置文件(配置文件)中,而不是 shell 的问题。
答案2
我无意中~
在主目录中创建了一个名为的目录。这是问题的根本原因。删除它就可以解决问题。