Impossibile cambiare la directory in Terminal se il target contiene spazi

2

Ho collegato il mio HD esterno, quindi in un terminale, digito

ls /Volumes/TOSHIBA\ EXT

Questo elenca file e cartelle come previsto, ma poi inserendo:

cd /Volumes/TOSHIBA\ EXT

lancia il seguente messaggio

-bash: cd: /Volumes/TOSHIBA\: No such file or directory

Posso persino riprodurre questo comportamento con le mie cartelle personali.

Cosa sta succedendo qui? Come posso passare a una directory quando ha spazi?

questo è il mio contesto di ambiente

uname -vsr
Darwin 17.5.0 Darwin Kernel Version 17.5.0: Mon Mar 5 22:24:32 PST 2018; root:xnu-4570.51.1~1/RELEASE_X86_64
    
posta user287257 29.04.2018 - 18:59
fonte

2 risposte

5

Gli spazi nei nomi dei file possono essere una seccatura nella shell. La soluzione migliore sarebbe quella di avvolgere il nome in " caratteri e utilizzare la shell integrata per completare il nome corretto.

Digitare cd "/Volumes/TOSH , quindi digitare una scheda e la shell completerà il nome con eventuali spazi e caratteri non standard inclusi. Se la scheda completa l'intero percorso, allora la shell inserirà anche un "/ alla fine, così sarai pronto per poi tornare al punto.

Nota che il completamento standard bash funzionerà su percorsi di file e nomi per la maggior parte dei comandi della shell, non solo cd .

    
risposta data 30.04.2018 - 04:35
fonte
0

Guidato da questo risposta I ha rilevato che GVM2 "Golang Version Manager" ha aggiunto la funzione CD nel mio PATH, che in qualche modo ha avuto la precedenza sul BASH CD.

    
risposta data 09.05.2018 - 14:37
fonte

Leggi altre domande sui tag