Bagaimana cara cd ke direktori yang berisi spasi dalam namanya?

47

Saya memiliki direktori yang disebut "Reader 0.5" di Desktop saya di Mac Os X. Kapan mengakses direktori di terminal, saya menggunakan kode di bawah ini:

cd /Users/niho/Desktop/Reader 0.5

tapi itu melempar:

tidak ada berkas atau direktori seperti itu

kesalahan.

Bagaimana saya bisa masuk ke direktori itu?

Terima kasih.


sumber

Jawaban:

64

Entah Anda memberi tanda kutip di sekitar nama direktori ( cd "/Users/niho/Desktop/Reader 0.5") atau Anda keluar dari nama direktori ( /Users/niho/Desktop/Reader\ 0.5).

Joseph
sumber
5
Hanya demi kelengkapan, Anda juga dapat memutuskan untuk mengutip hanya sebagian dari argumen, seperti cd /Users/niho/Desktop/"Reader 0.5"atau bahkancd /Users/niho/Desktop/Reader" "0.5
user123444555621
3
Yang terakhir (kutipan infiks) baru bagi saya. Terima kasih!
joschi
Sekarang: bagaimana Anda menempatkan path dengan ruang infix ke dalam env var sehingga Anda bisa melakukannya % cd $foo?
Bogatyr
8

Anda dapat menghindari ruang:

cd /Users/niho/Desktop/Reader\ 0.5
Felix
sumber
4

Seperti yang disebutkan orang lain, mengutip jalur atau garis miring terbalik akan berhasil.

Selain bash, shell default pada Mac OS X, mendukung penyelesaian baris perintah menggunakan tombol Tab. Jadi misalnya jika Anda mengetik:

cd /Users/niho/Desktop/Re

kemudian tekan tombol Tab, shell akan mengisi sisa nama folder (selama tidak ada folder lain di Desktop Anda dimulai dengan "Re"), dan akan mengurus mengutip argumen ke cd jika ada spasi dalam nama direktori yang diisi.

Simon Whitaker
sumber
4

Fyi, menggunakan Tab pada pintasan bash akan pecah pada ruang pertama yang dihadapinya jika beberapa direktori memiliki nama depan yang identik. Dalam kasus seperti itu, pengguna harus menggunakan:

cd Adobe\ Creative\ Cloud/

atau apa yang saya sukai,

cd 'Adobe Creative Cloud'
Ricardo Fernandez
sumber
Pada bash dan zsh, kutipan tidak berfungsi untuk saya: `` `bash 2 => cd '~ / Library /' bash: cd: ~ / Library /: Tidak ada file atau direktori seperti itu 3 => cd ~ / Library / 4 => pwd / Pengguna / pguruprasad / Perpustakaan `` `
Prasanth
-1

Inilah cara yang lebih nyaman jika Anda ingin lebih sering menggunakan perintah cd ke direktori tertentu. Itu menghindari menulis nama direktori setiap kali.

Dalam .bashrc atau .profile Anda, masukkan:

# activate cdable_vars
shopt -s cdable_vars

# define shortcut for your directory, here DIR
export DIR="/Users/<username>/path/to/your/dir"

Jalankan skrip Anda sekali: . .bashrc

Kemudian Anda dapat melakukan cd ke direktori Anda seperti ini:

cd DIR

Ini akan berfungsi bahkan jika path berisi spasi.

Dalam skrip shell, Anda harus mengutip variabel seperti ini:

cd "$DIR"
Kacang Agile
sumber