Intenté crear un enlace simbólico con el siguiente comando:
ln -s "~/Foo Bar/" Foo
... pero no funcionó (es decir, cuando entro en el buscador e intento hacer doble clic en él, dice que apunta a una ruta no válida y me pide que elimine el alias o lo corrija). Tuve que cambiar el nombre de la carpeta 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 Terminal y no en la interfaz de usuario de Finder.
ln -s
hace enlaces simbólicos. El buscador hace alias. Son casi idénticos en el uso práctico y común, pero es importante reconocer que son diferentes . Los enlaces simbólicos apuntan a una ruta de directorio, mientras que los alias apuntan a un archivo. Si tiene ambos apuntando al mismo archivo y mueve el archivo a una carpeta diferente, luego crea un nuevo archivo en la carpeta anterior, el alias apuntará al original movido y el enlace simbólico apuntará al nuevo archivo.ln -s ~/Foo<tab>
(donde <tab> denota la tecla ⇥ (tabulación) real en su teclado), si solo hay una carpeta que comienza con "Foo",~
entonces automáticamente ampliar el camino hacia~/Foo\ Bar/
.Respuestas:
Las comillas evitan que
~
se expandan a su carpeta de inicio, por lo que debe citar solo la parte con el espacio en ella:Nota: no importa exactamente cuánto se cita, siempre que el espacio esté en la porción citada y el ~ / no lo sea.
~/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~/'Foo Bar/'
,~/Foo' 'Bar/
etc., también funcionarían.También podría usar un escape para evitar que el espacio sea tratado como un separador:
fuente
"$HOME/Foo Bar/"
.~
, a diferencia ,$HOME
debe estar entre comillas dobles para evitar confusiones si su directorio principal contiene espacios u otros caracteres extraños."$HOME/Foo Bar/"
(como usted sugiere),"$HOME"/Foo" "Bar/
,"$HOME"/Foo\ Bar/
, etc va a funcionar.Lo probé yo mismo. No tengo ningún problema con un espacio en él:
ls shows:
$ linkToFoo_Bar -> /Users/joe/test/foo bar/
y funciona en terminal y buscador sin ningún problema.fuente
~
ayudante.