Я не стикаюся з такою поведінкою. Але я зміг її відтворити. Можливо, ви невірно змінили варіант cdspell
. Дивіться посібник з Bash :
cdspell
Якщо встановлено, незначні помилки в написанні компонента каталогу в команді cd будуть виправлені. Перевірені помилки - це переміщені символи, відсутній символ і занадто багато символів. Якщо виправлення знайдено, виправлений шлях надрукується, і команда продовжується. Цей варіант використовується лише інтерактивними оболонками.
Я спробував це, і він завжди виправляє шлях в аргументі, на який подано cd
. Якщо у вашій папці є кілька можливостей ProjectA
, ProjectB
і ProjectC
вона за замовчуванням відповідає тій, яка є останньою в порядку каталогу. Ви можете перевірити це ls -U
. Дивіться приклад:
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$
Щоб відключити таку поведінку, використовуйте:
shopt -u cdspell