Відповіді:
Для &(або майже будь-якого іншого персонажа) у вас є дві прості можливості.
' -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каталогом, починаючи з а -. Однак баш - ні.