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 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?
Las variables o los argumentos en el lado derecho de un comando están sujetos a división de palabras por parte del shell, a menos que se cite. 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
Las comillas se pueden usar para escapar de los espacios cuando se asigna a una variable.
var="abc def ghi"
Vilefort
thrig
blah $var
, la división de palabras POSIX te muerde