Ok, estou usando o Linux há 18 anos e nunca vi ou ouvi falar de algo assim:
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$
Wat ?! Ok, só para ter certeza:
ch04$ pwd
/home/m/learn/forth/starting-forth/ch04
Meu shell é bash, em um terminal virtual [LilyTerm, para ser exato], em uma sessão XFCE, no Manjaro Linux. Eu não acho que fiz nenhuma customização estranha, e o sistema como um todo é relativamente novo (instalação inicial em outubro de 2014 em um novo laptop).
Então, alguém tem alguma idéia do que poderia causar isso?
ATUALIZAÇÃO: Um fato que não me ocorreu antes (embora eu não saiba por que isso importaria) é que isso está ocorrendo dentro de um diretório de trabalho do Git.
UPDATE 2: Aparentemente, esse comportamento ocorre sempre que houver um diretório existente cujo nome é o mesmo, exceto pelo caractere final (ou dois caracteres?), como o diretório inexistente para o qual eu tento fazer o cd. Por exemplo:
[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]$ cd dxx179
bash: cd: dxx179: No such file or directory
[tmp]$ cd dxx1790
dxx17903
[dxx17903]$ cd ..
[tmp]$ mkdir foot
[tmp]$ mkdir food
[tmp]$ cd fool
foot
[foot]$ cd ..
[tmp]$ cd football
bash: cd: football: No such file or directory
[tmp]$ cd foo
foot
[foot]$
E assim por diante ... parece que quando há mais de um diretório que "corresponde" (dessa maneira estranha e indesejada), o que você acessa é aquele que foi criado primeiro.