При использовании командной строки Bash я могу, например, перейти в каталог, используя ...
cd /volumes
Однако я хотел бы напечатать ...
cd /vol*
но это не работает Есть ли способ навигации по каталогам с использованием подстановочных знаков?
Mac OS по умолчанию использует файловую систему без учета регистра. cd /volumes эквивалентен cd /Volumes , но bash не может отображать vol*: попробуйте cd /Vol*
Как сказал @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 файлы.
Typing:
cd /vol*
работает просто отлично. Даже если /vol* распространяется на несколько каталогов, bash будет использовать первый и игнорировать остальные. Что именно не работает для вас?