Jawaban:
Anda dapat menggunakan Tabtombol setelah menekan beberapa karakter pertama (ini kemudian akan "mengisi" sisa folder untuk Anda misalnya ketik cd ~/L
Tabmengisi cd ~/Library/
lalu ketik Ap
Tabdan itu akan mengisi sisanya untuk Anda.
Jika ada spasi di antara kata-kata dan Anda tidak ingin menggunakan metode di atas, letakkan a \
(backslash) di depan spasi, mis cd ~/Library/Application\ Support
.
shopt -s nocaseglob
dan bind 'set completion-ignore-case on'
membuat bash kurang sensitif terhadap huruf besar-kecil.
Masalah inti di sini adalah bagaimana shell ( bash ) tidak mengutip dan bagaimana hal itu mempengaruhi ekspansi tilde dan membelah menjadi "kata-kata" (argumen untuk program yang sedang dijalankan).
bash hanya memperlakukan tilde terkemuka secara khusus jika tidak dikutip. Selain itu, garis miring berikut juga tidak boleh dikutip.
Pada saat yang sama, bash mem-parsing baris perintah menjadi "kata-kata" berdasarkan spasi kosong. The cd
Perintah biasanya membutuhkan tepat satu argumen (direktori tujuan). Baris perintah seperti cd foo bar
artinya dijalankan cd
dengan dua argumen: foo
dan bar
. Jika Anda hanya ingin mengirim satu foo bar
argumen, maka Anda perlu mengutip spasi:
(mis.) cd foo\ bar
(Lihat lebih banyak contoh kutipan di bawah).
Dalam situasi khusus Anda, Anda harus membiarkan tilde dan slash berikut tidak dikutip sembari mengutip spasi dalam nama direktori. cd "~/Library/Application Support/"
Uji coba Anda berakhir dengan mengutip terlalu banyak (tilde dan garis miringnya), sementara cd ~/Library/Application Support/
uji coba Anda mengutip terlalu sedikit (ini menghilangkan mengutip ruang dalam nama direktori).
Solusi paling umum adalah menggunakan pelarian satu karakter untuk mengutip ruang saja:
cd ~/Library/Application\ Support
Anda juga dapat menggunakan tanda kutip tunggal atau ganda di sekitar hanya ruang atau ruang dan beberapa bit lain dari argumen itu (tetapi bukan ~/
!):
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
Kutipan semacam ini memiliki arti yang berbeda, tetapi mereka identik dalam contoh-contoh ini. Kutipan tunggal melindungi string literal sementara tanda kutip ganda memungkinkan berbagai ekspansi dan substitusi di wilayah yang dikutip.
Seringkali, Anda bisa membiarkan shell melakukan pekerjaan untuk Anda.
Globbing (wildcard):
cd ~/L*/Ap*
Anda dapat menggunakan shopt -s nocaseglob
untuk membuat case globbing tidak sensitif:
cd ~/l*/ap*
Penyelesaian:
Menekan Tabsetelah masuk cd ~/L
mungkin akan memperluas ke cd ~/Library/
.
Menekan Tablagi setelah memasukkan Ap
(sekarang Anda miliki cd ~/Library/Ap
) mungkin akan memperluas ke cd ~/Library/Application\ Support/
(shell secara otomatis memasukkan backslash melarikan diri).
Anda dapat menggunakan bind 'set completion-ignore-case on'
untuk membuat penyelesaian kasus tidak sensitif:
cd ~/l
Tab→ cd ~/Library/
; ap
Tab→cd ~/Library/Application\ Support/
<kbd></kbd>
tag HTML (salah satu dari beberapa tag HTML yang didukung dalam penurunan harga SE ).
Ketika Anda mengutip dua kali jalan, Anda menghentikan ekspansi tilde. Jadi ada beberapa cara untuk melakukan ini:
cd ~/"My Code"
cd ~/'My Code'
Tilde tidak dikutip di sini, jadi ekspansi tilde masih akan berjalan.
cd "$HOME/My Code"
Anda dapat memperluas variabel lingkungan di dalam string yang dikutip ganda; ini pada dasarnya adalah apa yang dilakukan ekspansi tilde
cd ~/My\ Code
Anda juga dapat melarikan diri karakter khusus (seperti spasi) dengan garis miring terbalik.
Anda dapat mencoba ini untuk folder / file dengan spasi Jika file atau nama folder berisi 1) nama file. Ekstensi perintahnya adalah cd ~ / file \ name.extension / (atau) cd ~ / "file name.extension" /