Відповіді:
Ви можете скористатися Tabклавішею після натискання перших кількох символів (це потім "заповнить" решту папки для вас, наприклад, введіть cd ~/L
Tabзаливки, cd ~/Library/
а потім введіть, Ap
Tabа решту ви заповніть для вас.
Якщо між словами є пробіл, і ви не хочете користуватися описаними вище методами, \
перед пробілом поставте (зворотну косу рису), наприклад cd ~/Library/Application\ Support
.
shopt -s nocaseglob
та bind 'set completion-ignore-case on'
робити башти менш чутливими до справи.
Основна проблема тут полягає в тому, як оболонка ( bash ) робить цитування і як це впливає на розширення та розбиття на "слова" (аргументи для запущеної програми).
bash розглядає тільки ведучий тильд спеціально, якщо він не цитується. Крім того, наступна косої риски також не повинна котируватися.
У той же час, bash розбирає командні рядки на "слова" на основі нецитованих пробілів. cd
Команда , як правило , потрібно рівно один аргумент (каталог призначення). Командний рядок типу cd foo bar
означає запускати cd
два аргументи: foo
і bar
. Якщо ви хотіли надіслати лише один foo bar
аргумент, тоді вам потрібно процитувати пробіл:
(наприклад) cd foo\ bar
(див. Більше приклад цитування нижче).
У вашій конкретній ситуації вам потрібно залишити нахил та наступну косу рису без котирування, цитуючи пробіл у назві каталогу. Ваш cd "~/Library/Application Support/"
пробний кінець закінчується занадто великим котируванням (нахилом та його косою рисою), тоді як ваш cd ~/Library/Application Support/
пробний цитата занадто малий (він не вказує пробіл у назві каталогу).
Найпоширеніше рішення - використовувати односимвольні втечі, щоб цитувати просто пробіл:
cd ~/Library/Application\ Support
Ви також можете використовувати одинарні або подвійні лапки навколо простору або простору та деякі інші біти цього аргументу (але не ~/
!):
cd ~/Library/Application' 'Support
cd ~/Library/Application" "Support
cd ~/Library/App'lication 'Support
cd ~/Library/Application" Supp"ort
cd ~/'Library/Application 'Support
cd ~/"Library/Application "Support
Ці типи цитат мають різний зміст, але в цих прикладах вони однакові. Одиничні лапки захищають буквальні рядки, тоді як подвійні лапки дозволяють проводити різні розширення та заміни в регіоні, що котирується.
Часто ви можете просто дозволити оболонці виконати роботу за вас.
Глобінг (макіяж):
cd ~/L*/Ap*
Ви можете використовувати shopt -s nocaseglob
для того, щоб зробити корпус, який не стосується глобуса:
cd ~/l*/ap*
Виконання:
Натискання Tabпісля введення cd ~/L
, ймовірно, розширить його до cd ~/Library/
.
Повторне натискання Tabпісля введення Ap
(у вас зараз є cd ~/Library/Ap
), ймовірно, розширить його до cd ~/Library/Application\ Support/
(оболонка автоматично вставила пробіг, що протікає).
Ви можете використовувати bind 'set completion-ignore-case on'
для того, щоб зробити корпус незавершеним:
cd ~/l
Tab→ cd ~/Library/
; ap
Tab→cd ~/Library/Application\ Support/
<kbd></kbd>
тег HTML (один із декількох тегів HTML, підтримуваних у розмітці SE ).
Коли ви двічі цитуєте шлях, ви зупиняєте розширення тильди. Отже, є кілька способів зробити це:
cd ~/"My Code"
cd ~/'My Code'
Тильда тут не цитується, тому розширення тильди все одно буде запущено.
cd "$HOME/My Code"
Ви можете розширити змінні середовища всередині дворядкових рядків; це в основному те, що робить розширення тильди
cd ~/My\ Code
Також ви можете уникати спеціальних символів (наприклад, пробіл) за допомогою нахилу вниз.
Ви можете спробувати це для розміщених папок / файлів, якщо ім'я файлу чи папки містить 1) ім'я файлу.extension командою має бути cd ~ / file \ name.extension / (або) cd ~ / "name file.extension" /