Freaky Bash 命令行完成结果

Freaky Bash 命令行完成结果

我解压了一个文件,它有一个名为“~something”的目录。

我不假思索地输入了“cd ~”并按下 Tab 键让 bash 完成名称。结果不是我预期的“~something”,而是一整串以“~”开头的东西。其中一些有点令人不安。例如:~pulse ~sys/ ~daemon/ ~kernoops/ ~mysql/ ~root/ ~syslog ~libuuid/ ~rtkit/ ~usbmux

我删除了 tar 目录并尝试从另一个目录进行操作,结果相同。

我从 / 开始向下查找了其中几个,什么也没找到,但我很困惑 Bash 在哪里以及为什么得出这个列表,并想知道我是否已经被扎根。

感谢您的见解。

答案1

~表示当前用户的主目录。~username表示该用户的主目录。 bash 看到~并假定您想要系统上的某个主目录。 如果您想要文字“~”,则需要对其进行转义。

cd \~<Tab>

相关内容