espacios en el nombre de una carpeta

4

Tengo un nombre de carpeta con un espacio entre el nombre: /Volumes/Img/Horos Data/DATABASE/

Necesito ponerlo en una variable para usar en un script.

En la terminal puedo usar \ para usar la carpeta: cd /Volumes/Dados/Horos\ Data/DATABASE/ , pero no funciona cuando pongo una variable como:

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

¿Cómo puedo ponerlo en una variable?

    
pregunta Vilefort 05.07.2017 - 21:26

2 respuestas

4

Las variables o argumentos en el lado derecho de un comando están sujetos a la división de palabras por parte del shell a menos que se especifiquen. Puedes probar la siguiente demostración.

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
    
respondido por el fd0 05.07.2017 - 22:33
4

Las citas se pueden usar para escapar de los espacios cuando se asigna a una variable.

var="abc def ghi"
    
respondido por el grg 05.07.2017 - 21:29

Lea otras preguntas en las etiquetas