Відповіді:
Для &
(або майже будь-якого іншого персонажа) у вас є дві прості можливості.
' -3ab_&_-3dc.img'
-3ab_\&_-3dc.img
Є два винятки:
foo'bar\qux
: cd 'foo'\''bar\qux'
. Ви можете запам’ятати його таким чином: всередині одиничних цитат '\''
ви отримуєте одну пропозицію.Ви також можете використовувати подвійні лапки, але тоді перед деякими символами потрібно поставити звороту косу рису. Одиночні цитати більш прості.
Тут є додаткова складність, яка полягає в тому, що назва каталогу починається з тире. Цей символ повідомляє cd
команді (як і майже в кожній команді), що наступна опція. Дефіс не особливий для оболонки, лише для команди, тому лапки не впливатимуть на нього. У вас є два способи передачі аргументу, який починається з тире до команди, не інтерпретуючи його як варіант:
./
попереду все ще позначає той самий файл.--
раніше. Це говорить команді перестати шукати варіанти.Ось ось кілька способів змінити цей підкаталог:
cd -- '-3ab_&_-3dc.img'
cd -- -3ab_\&_-3dc.img
cd ./-3ab_\&_-3dc.img
cd './-3ab_&_-3dc.img'
Потрібно уникати амперсанд, але проблема, яка виникає у вас, швидше за все -
, не з амперсандою. Ведучий -
змусив компакт-диск подумати, що ви передаєте варіанти. Ви можете обійти це за допомогою ./
:
cd './-3ab_&_-3dc.img'
&
, безумовно, проблема. Що стосується -
, це залежить від оболонки. Zsh цілком задоволений cd
каталогом, починаючи з а -
. Однак баш - ні.