4

При использовании командной строки Bash я могу, например, перейти в каталог, используя ...

cd /volumes

Однако я хотел бы напечатать ...

cd /vol*

но это не работает Есть ли способ навигации по каталогам с использованием подстановочных знаков?

3 ответа3

6

Mac OS по умолчанию использует файловую систему без учета регистра. cd /volumes эквивалентен cd /Volumes , но bash не может отображать vol*: попробуйте cd /Vol*

4

Как сказал @William Pursell, это связано с тем, что папка называется /Volumes, а не /volume; файловая система OS X нечувствительна к регистру, поэтому она игнорирует разницу, но bash чувствительна к регистру и отключает разницу.

Но вы можете изменить поведение по умолчанию в bash: чтобы он учитывал расширение шаблонов файлов без учета регистра, добавьте команду shopt -s nocaseglob в файлы ~/.bashrc и ~/.bash_profile (необходимо в обоих случаях, поэтому опция включена). как в логинах, так и в субкартах). Если вы также хотите, чтобы завершение имени файла работало, несмотря на несоответствия регистра, добавьте set completion-ignore-case on в ваш файл ~/.inputrc или добавьте привязку "set complete bind "set completion-ignore-case on" в ваши ~/.bashrc и ~/.bash_profile файлы.

0

Typing:

cd /vol*

работает просто отлично. Даже если /vol* распространяется на несколько каталогов, bash будет использовать первый и игнорировать остальные. Что именно не работает для вас?

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .