Untuk &
(atau hampir semua karakter lain, Anda memiliki dua kemungkinan sederhana.
- Letakkan tanda kutip tunggal di sekitar semuanya:
' -3ab_&_-3dc.img'
- Letakkan garis miring terbalik di depan setiap karakter yang bermasalah:
-3ab_\&_-3dc.img
Ada dua pengecualian:
- Metode kutipan tunggal tidak berfungsi untuk kutipan tunggal. Backslash tidak spesial dalam tanda kutip tunggal, jadi Anda juga tidak bisa langsung menggunakannya. Yang dapat Anda lakukan adalah mengakhiri string yang dikutip tunggal, segera gunakan backslash plus kutipan tunggal, dan mulai kembali kutipan tunggal. Jadi misalnya, jika nama direktori adalah
foo'bar\qux
: cd 'foo'\''bar\qux'
. Anda dapat mengingatnya seperti itu: di dalam tanda kutip tunggal, '\''
memberi Anda satu kutipan.
- Metode backslash tidak berfungsi untuk baris baru: backslash-baris baru diabaikan. Anda perlu menempatkan tanda kutip tunggal di sekitar baris baru.
Anda dapat menggunakan tanda kutip ganda juga, tetapi kemudian Anda harus membuat garis miring terbalik sebelum beberapa karakter. Kutipan tunggal lebih mudah.
Ada kesulitan tambahan di sini, yaitu nama direktori dimulai dengan tanda hubung. Karakter itu memberi tahu cd
perintah (seperti hampir semua perintah) yang diikuti oleh opsi. Tanda hubung tidak khusus untuk shell, hanya untuk perintah, jadi tanda kutip tidak akan mempengaruhinya. Anda memiliki dua cara meneruskan argumen yang dimulai dengan tanda hubung ke perintah tanpa menafsirkannya sebagai opsi:
- Temukan cara lain untuk mengekspresikan argumen ini. Untuk nama file, menambahkan
./
di depan masih menunjuk file yang sama.
- Letakkan argumen
--
sebelumnya. Itu memberitahu perintah untuk berhenti mencari opsi.
Jadi, inilah beberapa cara Anda dapat berubah ke subdirektori ini:
cd -- '-3ab_&_-3dc.img'
cd -- -3ab_\&_-3dc.img
cd ./-3ab_\&_-3dc.img
cd './-3ab_&_-3dc.img'