Spazi nel nome di una cartella

4

Ho un nome di piegatura con uno spazio tra il nome: /Volumes/Img/Horos Data/DATABASE/

Devo inserirlo in una variabile da utilizzare in uno script.

Nel terminale posso usare \ per usare la cartella: cd /Volumes/Dados/Horos\ Data/DATABASE/ , ma non funziona quando inserisco una variabile come:

DESTINY=/Volumes/Dados/Horos\ Data/DATABASE.noindex/
ls $DESTINY

Come posso inserirlo in una variabile?

    
posta Vilefort 05.07.2017 - 21:26
fonte

2 risposte

4

Le variabili o gli argomenti sul lato destro di un comando sono soggetti alla divisione della parola da parte della shell, a meno che non sia quotata. Puoi provare la seguente dimostrazione.

touch foo\ bar\ baz
#
ls foo\ bar\ baz
foo bar baz
# or
ls "foo bar baz"
foo bar baz
#
var=foo\ bar\ baz
ls $var
ls: bar: No such file or directory
ls: baz: No such file or directory
ls: foo: No such file or directory
#
ls "$var"
foo bar baz
    
risposta data 05.07.2017 - 22:33
fonte
4

È possibile utilizzare le virgolette per uscire dagli spazi quando si assegna a una variabile.

var="abc def ghi"
    
risposta data 05.07.2017 - 21:29
fonte

Leggi altre domande sui tag