Eu não encontro esse comportamento. Mas eu consegui reproduzi-lo. Talvez você tenha alterado acidentalmente a opção cdspell
. Consulte o Manual de referência do Bash :
cdspell
If set, minor errors in the spelling of a directory component in a cd command will be corrected. The errors checked for are transposed characters, a missing character, and a character too many. If a correction is found, the corrected path is printed, and the command proceeds. This option is only used by interactive shells.
Eu tentei e sempre corrige o caminho no argumento dado a cd
. Se houver várias possibilidades, como em sua pasta com ProjectA
, ProjectB
e ProjectC
, o padrão será o último na ordem de diretórios. Você pode verificar isso por ls -U
. Veja o exemplo:
user@host:~$ ls -Ul
total 0
drwxr-xr-x 2 root root 40 May 26 08:11 ProjectA
drwxr-xr-x 2 root root 40 May 26 08:11 ProjectB
drwxr-xr-x 2 root root 40 May 26 08:11 ProjectC
user@host:~$ cd Project<tab><tab>
ProjectA/ ProjectB/ ProjectC/
user@host:~$ cd Project
ProjectC
user@host:~/ProjectC$
Para desativar esse comportamento, use:
shopt -u cdspell