好的,所以我已经使用 Linux 18 年了,从来没有见过或听说过这样的事情:
starting-forth$ ls
ch01/ ch02/ ch04/ ch05/ ch06/ text/
starting-forth$ cd ch07 # A directory I thought I might exist, but didn't
ch04
ch04$
Run Code Online (Sandbox Code Playgroud)
哇?!好的,只是为了确保:
ch04$ pwd
/home/m/learn/forth/starting-forth/ch04
Run Code Online (Sandbox Code Playgroud)
我的 shell 是 bash,在虚拟终端 [LilyTerm,确切地说],在 XFCE 会话中,在 Manjaro Linux 上。我认为我没有进行任何奇怪的自定义,并且整个系统相当新(2014 年 10 月在新笔记本电脑上首次安装)。
那么,任何人都知道是什么导致了这种情况?
更新:我之前没有想到的一个事实(尽管我不知道为什么会如此)是这发生在 Git 工作目录中。
更新 2:显然,只要存在名称相同的现有目录,除了最后一个字符(或两个字符?),作为我尝试 cd 到的不存在目录时,就会发生这种行为。例如:
[tmp]$ mkdir dxx17903
[tmp]$ cd dxx17907
dxx17903
[tmp]$ cd dxx179035
dxx17903
[dxx17903]$ cd ..
[tmp]$ cd dxx179005
bash: cd: dxx179005: No such file or directory
[tmp]$ …Run Code Online (Sandbox Code Playgroud)