Является ли стандартным поведением для компакт-диска автоматически выбирать, когда задано неполное имя каталога?

У меня есть три папки под названием ProjectA , ProjectB и ProjectC . Когда я перейду на tab -complete cd в cd Project и нажмите Enter , он выбирает ProjectC . Я обнаружил, что это также относится к другим подобным случаям; он по умолчанию используется последним в лексикографическом порядке (но это также может быть совсем недавно изменено / добавлено).

Является ли это ожидаемым поведением по умолчанию для cd , или я установил что-то случайно здесь?

Я запускаю OSX 10.10.3, с bash 4.3.

One Solution collect form web for “Является ли стандартным поведением для компакт-диска автоматически выбирать, когда задано неполное имя каталога?”

Я не сталкиваюсь с этим поведением. Но я смог воспроизвести его. Возможно, вы случайно изменили опцию 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 
  • Как оболочка знает дома (дома)?
  • `cd` вверх по каноническому пути
  • linux как cd к родительской папке, если она перемещается через символическую ссылку
  • Почему мой bashscript не работает?
  • Создайте ссылку, но не измените канонический путь
  • Launcher для программы Python, которая требует дополнительных библиотек
  • Почему в папку рабочего стола не загружается «sudo bash && cd desktop»?
  • Bash не может запустить команду из скрипта: команда mkdir не найдена
  • Сценарий Bash SFTPing на удаленный сервер и загрузка файлов, cd в соответствующий каталог на локальной машине
  • выполнение команд в оболочке и отключение отображения команд по умолчанию в консоли
  • Создание псевдонима для изменения каталога и наличие этого каталога в текущем рабочем каталоге на вкладках новых терминалов
  • Linux и Unix - лучшая ОС в мире.