¿Cómo hacer frente a un espacio al configurar $ PATH?


16

Quiero agregar la lib sublime a mi ruta pero tiene un espacio en ella.

He intentado lo obvio como si navegaras en la terminal (por ejemplo /Applications/Sublime\ Text\ 2.app/Contents)

export PATH="/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl:$PATH"

Pero sigo recibiendo el error

/Applications/Sublime: No such file or directory

Podría cambiarle el nombre, pero tengo curiosidad por saber cómo resolverlo. Estoy usando bash


intentar export PATH='/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH? Además, ¿se pretende esa nueva línea?
— recatada

No, no es una nueva línea que aparece de esa manera cuando la pegué. Su sugerencia no ayudó y me cortó el camino, por lo que no pude usar vi, tuve que cambiar a un caparazón diferente para volver a cambiar.
— Shawn Vader

1
La sugerencia de recatada debería hacerlo, pero use comillas dobles: de lo export PATH="/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH"contrario, $ PATH no se expandirá.
— jaume

Lo tenía como comillas dobles originalmente, pero en el .bashrc todavía no me gustaba.
— Shawn Vader

¿Podrías ser más preciso? ¿Qué quieres decir con "no le gustó"? ¿Recibes un error (cuál)? ¿O simplemente no funcionó?
— jaume

Respuestas:


15

Use barra invertida o comillas, no ambas. Pones la secuencia barra invertida-espacio en el PATHvalor.

export PATH="/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH"

o

export PATH=/Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl:$PATH

Asegúrese de no ajustar la línea: tiene que ser espacios, no líneas nuevas.

Tenga en cuenta que si ve un error como el /Applications/Sublime: No such file or directoryde la export PATH=…línea, entonces tiene un error de sintaxis en esa línea, como un espacio después del signo igual: la asignación no intenta buscar el directorio. Si el error se produce en algún momento posterior, entonces no se debe al valor PATH, o si es así de manera muy indirecta: está perfectamente bien que las entradas $PATHno existan, y un directorio inexistente no dará lugar a un mensaje de error .


4

Si la ruta se establece correctamente en .bash_profile, ya sea con comillas dobles o con barra invertida y tiene espacios, debe llamar a las variables con comillas dobles .

Por ejemplo, si .bash_profilese establece como a continuación:

export SUBLIMEPATH="/Applications/Sublime Text 2.app/Contents"
export PATH=$PATH:$SUBLIMEPATH/SharedSupport/bin/subl

No puede hacer cd $SUBLIMEPATHpara cambiar el directorio actual, obtendrá un No such file or directoryerror. Pero con comillas dobles como cd "$SUBLIMEPATH"puedas.

Espero que esta ayuda para algo.


3

Para resolverlo hice un enlace sim en

ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/sublime/bin/subl

Luego lo agregué a mi ruta usando vi en ~. / Bashrc

export PATH="/usr/local/sublime/bin/:$PATH"

Recuerde buscar el .bashrc para recoger sus cambios

source ~/.bashrc

1

Esto no responde la pregunta. Sin embargo, aborda como una observación hecha en una de las respuestas, y analiza un procedimiento similar.

También es posible crear un alias para Sublime Text editando .bash_profileo .bashrc(cualquiera que sea el archivo de configuración de BASH en su directorio de inicio).

alias sublime="/Applications/Sublime\ Text.app/Contents/MacOS/Sublime\ Text"

Para hacerlo, es necesario usar AMBAS barras y comillas de escape . Tenga en cuenta en particular que esta es una situación muy diferente de la exportación de la RUTA como se mencionó anteriormente, porque allí solo tiene sentido hacer uno u otro, pero no ambos.

Tenga en cuenta también que no es necesario crear primero un enlace simbólico, como afirman la documentación oficial de Sublime y muchas otras fuentes. Esta respuesta en StackOverflow lo hace bien.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.