20 votos

Cómo hacer frente a un espacio al establecer el $PATH

Quiero añadir la libra sublime a mi ruta pero tiene un espacio en ella.

He probado lo obvio como se navega 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 cambiar el nombre pero tengo curiosidad por saber cómo resolverlo. Estoy usando bash.

0 votos

Pruebe con export PATH='/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH ? Además, ¿esa nueva línea es intencionada?

0 votos

No, no es una línea nueva, sólo sale así cuando la pego. Su sugerencia no ayudó y mató a mi camino por lo que no podía usar vi, tuvo que cambiar a un shell diferente para cambiar de nuevo.

1 votos

La sugerencia de Demure debería servir, pero usa las comillas dobles: export PATH="/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl:$PATH" , de lo contrario $PATH no se expandirá.

18voto

staffan Puntos 3299

Utilice la barra invertida o las comillas, no ambas. Ponga la secuencia barra invertida-espacio en el PATH valor.

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 envolver la línea: tiene que haber espacios, no nuevas líneas.

Tenga en cuenta que si ve un error como /Applications/Sublime: No such file or directory de la export PATH=… 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 de PATH, o si es así sólo de forma muy indirecta: está perfectamente bien para las entradas en $PATH no exista, y un directorio inexistente no dará lugar a un mensaje de error.

7voto

KEINOS Puntos 151

Si la ruta está configurada correctamente en .bash_profile , ya sea con comillas dobles o con barra invertida y con espacios, hay que llamar a las variables con comillas dobles .

Por ejemplo, si .bash_profile se ajusta como se indica a continuación:

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

Usted no puede hacer cd $SUBLIMEPATH para cambiar el directorio actual, obtendrá No such file or directory error. Pero con comillas dobles como cd "$SUBLIMEPATH" puedes.

Espero que esto sirva para algo.

3voto

Shawn Vader Puntos 146

Para resolverlo hice un simlink 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 que el código fuente del .bashrc recogerá sus cambios

source ~/.bashrc

1voto

roomwithaview Puntos 11

Esto no responde a la pregunta. Sin embargo, aborda 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_profile o .bashrc (cualquiera que sea el archivo de configuración BASH en su directorio personal).

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

Para ello, es necesario utilizar AMBAS barras de escape y comillas . Nótese en particular que esta es una situación muy diferente a la de exportar el PATH como se mencionó anteriormente, porque allí sólo tiene sentido hacer una cosa o la otra, pero no ambos.

Ten 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.

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