¿Cómo creo un enlace simbólico a un directorio con un espacio en él?

24

Estaba intentando crear un enlace simbólico con el siguiente comando:

ln -s "~/Foo Bar/" Foo

... pero no funcionó (es decir, cuando encuentro el buscador e intento hacer doble clic en él, dice que está apuntando a una ruta no válida y me pide que elimine el alias o que lo arregle). Tuve que cambiar el nombre de la carpeta a FooBar y luego ejecutar el siguiente comando:

ln -s ~/FooBar/ Foo

¿Cómo puedo crear el enlace sin tener que eliminar el espacio del nombre de la carpeta?

Estoy buscando una manera de hacer esto en la Terminal y no en la interfaz de usuario del Finder.

    
pregunta Senseful 17.02.2011 - 20:45

2 respuestas

41

Las comillas impiden que ~ se expanda a su carpeta de inicio, por lo que necesita citar solo la parte con el espacio en ella:

ln -s ~/"Foo Bar/" Foo

Nota: no importa cuánto se cite exactamente, siempre que el espacio esté en la parte cotizada y el ~ / no. ~/Foo" "Bar/ , ~/"Foo Bar"/ , ~/Fo"o B"ar/ etc. son todos equivalentes. Además, las comillas simples y dobles tienen el mismo efecto en los espacios (aunque difieren en otros caracteres), por lo que también funcionarán ~/'Foo Bar/' , ~/Foo' 'Bar/ , etc.

También puede usar un escape para evitar que el espacio sea tratado como un separador:

ln -s ~/Foo\ Bar/ Foo
    
respondido por el Gordon Davisson 17.02.2011 - 21:09
0

Lo probé yo mismo. No tengo ningún problema con un espacio en él:

    $ ln -s "/Users/joe/test/foo bar"/ linkToFoo_Bar

ls muestra: $ linkToFoo_Bar -> /Users/joe/test/foo bar/ Y funciona en terminal y buscador sin problemas.

    
respondido por el user3740 17.02.2011 - 21:22

Lea otras preguntas en las etiquetas