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.

macos  bash  shell 

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).


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

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.


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'

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"
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.