2 votos

¿Espacio de escape en el archivo de ruta?

Estoy tratando de establecer una variable de entorno para la carpeta de medios de Anki, en .bash_profile .

La línea es export ANKI_MEDIA='/Users/<username>/Library/Application Support/Anki2/me/collection.media' .

Una vez de origen , trato de echo $ANKI_MEDIA que devuelve correctamente la ruta completa pero si hago cd $ANKI_MEDIA Vuelvo -bash: cd: "/Users/<username>/Library/Application\: No such file or directory

He probado diferentes combinaciones de comillas simples y dobles, sin éxito. Por favor, consejo, gracias de antemano.

EDITAR 1

He probado a escribir el pathfile en .bash_profile dentro de backticks. Después de abastecimiento de la misma, vuelvo inmediatamente -bash: /Users/<username>/Library/Application Support/Anki2/me/collection.media: is a directory

EDITAR 2

Para futuras referencias, he creado un enlace en el directorio principal del usuario y lo he dirigido al collection.media carpeta. Esto es sólo una solución, agradecería mucho si alguien me ayudara a resolver este rompecabezas.

0 votos

¿Has probado también con "triple barra invertida seguida de un espacio"?

0 votos

El mismo problema. Da -bash: cd: /Users/<username>/Library/Application\: No such file or directory (esta vez sin comillas, sólo triple barra invertida después de Application )

0 votos

Me pregunto si la triple barra invertida sin comillas es equivalente a la barra invertida simple con comillas dobles que ya habías probado.

3voto

El intérprete de comandos utiliza un carácter de espacio como separador entre palabras, por lo que las rutas que contienen espacios siempre deben ponerse en "" cuando se utiliza (lo que implica que se recomienda/es la mejor práctica asegurarse de que todas las rutas y nombres de archivos en los scripts y archivos init están correctamente entrecomillados):

ANKI_MEDIA="/Users/<username>/Library/Application\ Support/Anki2/me/collection.media"
cd "$ANKI_MEDIA"

También puede utilizar \ para proteger un espacio, pero esto sólo funciona para rutas literales, no para variables:

cd /Users/<username>/Library/Application\ Support/Anki2/me/collection.media

Si aplicar las comillas cada vez que se cambia a este directorio es un inconveniente, puede utilizar un alias en su lugar:

alias cdanki="cd '$ANKI_MEDIA'"

0 votos

Probado cd "$ANKI_MEDIA" No funcionó. ¿Tengo que poner la misma línea en un archivo titulado .bashrc ?

0 votos

Sólo se emite echo $ANKI_MEDIA está bien, la parte del archivo de ruta que contiene el carácter de espacio problemático se imprime en la pantalla sin ninguna distorsión. Es el cd que da problemas. ¿Por qué? Sigue diciendo que Application no es un archivo o carpeta.

0 votos

Encontré una solución, ver OP Edit 2

1voto

WobblyWindows Puntos 111

Hubo un error en el nombre del archivo de ruta (después de Anki2/me/...): el perfil del usuario era en realidad "me_201908". Además, esta vez he editado el archivo en vim y he utilizado $HOME en el pathfile de la variable.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X