出于好奇,我运行了以下命令:
mkdir haha
cd haha
ln -s ../haha haha
这创建了一个像这样的递归结构:
┌────────┐
V │
haha/ │
haha/────┘
我想看看我能深入到什么程度,所以我输入cd haha/
并按住Tab,让 bash 自动完成一大堆haha/
s。它会自动完成最多cd haha/haha/<SNIP>/haha/
(总共 40 个“哈哈/”),然后突然停止完成(奇怪的行为#1)。我按了Enter。运行后pwd
,我发现我确实在目录中/home/me/haha/<SNIP>/haha/haha
(41 个“哈哈/”)。在这个目录中,我运行了另一个cd haha
,它突然将我一路传送回/home/me/haha
(正如另一个 所证实的那样pwd
)。啊?为什么会发生这种情况,这是 bash 的怪癖吗?文件系统限制(我使用的是 btrfs)?还有别的事吗?