Come cd in una directory che contiene uno spazio nel suo nome?


47

Ho una directory chiamata "Reader 0.5" nel mio desktop su Mac Os X. Quando accedo alla directory nel terminale, sto usando il codice seguente:

cd /Users/niho/Desktop/Reader 0.5

ma genera:

Nessun file o directory con questo nome

errore.

Come posso cd in quella directory?

Grazie.

macos  bash  shell 

Risposte:


64

O inserisci le virgolette attorno al nome della directory ( cd "/Users/niho/Desktop/Reader 0.5") o esci dal nome della directory ( /Users/niho/Desktop/Reader\ 0.5).


5
Solo per completezza, puoi anche decidere di citare solo alcune parti dell'argomento, come cd /Users/niho/Desktop/"Reader 0.5"o anchecd /Users/niho/Desktop/Reader" "0.5
user123444555621

3
L'ultimo (citazioni infissi) era nuovo per me. Grazie!
joschi,

Ora: come posizionate il percorso con gli spazi infissi in un ambiente var in modo da poterlo fare % cd $foo?
Bogatyr,

8

Puoi sfuggire allo spazio:

cd /Users/niho/Desktop/Reader\ 0.5

4

Come altri hanno già detto, funzionerà citando il percorso o facendo backslash-escape.

Inoltre bash, la shell predefinita su Mac OS X, supporta il completamento della riga di comando usando il tasto Tab. Ad esempio, se si digita:

cd /Users/niho/Desktop/Re

quindi premi il tasto Tab, la shell inserirà il resto del nome della cartella (purché non ci siano altre cartelle sul desktop che iniziano con "Re") e si occuperà di citare gli argomenti su cd se ci sono spazi nel nome della directory che compila.


4

Cordiali saluti, usando la scorciatoia Tab in bash si spezzerebbe nel primo spazio che incontra se più directory hanno nomi identici. In tali casi un utente dovrebbe utilizzare:

cd Adobe\ Creative\ Cloud/

o quello che preferisco,

cd 'Adobe Creative Cloud'

Sia su bash che su zsh, la citazione non funziona per me: `` `bash 2 => cd '~ / Library /' bash: cd: ~ / Library /: nessun file o directory 3 => cd ~ / Library / 4 => pwd / Users / pguruprasad / Library `` `
Prasanth

-1

Ecco un modo più comodo se si desidera utilizzare più spesso i comandi cd in determinate directory. Evita di scrivere il nome della directory ogni volta.

Nel tuo .bashrc o .profile, inserisci:

# activate cdable_vars
shopt -s cdable_vars

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

Esegui il tuo script una volta: . .bashrc

Quindi puoi cd nella tua directory in questo modo:

cd DIR

Questo dovrebbe funzionare anche se il percorso contiene spazi.

Negli script di shell, tuttavia, è necessario citare la variabile in questo modo:

cd "$DIR"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.