.bashrc no lee ruta de entorno correctamente con espacios

En mi Ubuntu 13 he editado mi .bashrc añadiendo una ruta de acceso al entorno:

export OGRE_ANDROID_ROOT=/home/piperoman/Librerias/Ogre\ Android\ SDK 

Si hago eco de la variable, funciona bien, pero cuando intento utilizarla en un makefile, no lo hace. He probado con un comando cd y este es el resultado:

 $ echo $OGRE_ANDROID_ROOT /home/piperoman/Librerias/Ogre Android SDK $ cd $OGRE_ANDROID_ROOT bash: cd: /home/piperoman/Librerias/Ogre: No such file or directory 

¿Por qué funciona el echo pero no puedo usar la variable correctamente con los comandos?

Respuesta corta: Separación de palabras .

Cuando tengas esto

 export OGRE_ANDROID_ROOT=/home/piperoman/Librerias/Ogre\ Android\ SDK 

La variable ambiental contiene "/ home / piperoman / Librerias / Ogre Android SDK".

Si lo usa sin incluir entre comillas, Bash dividirá la cadena en palabras basadas en la variable de entorno IFS , por defecto, tab, espacio y newlines.

Asi que

 cd $OGRE_ANDROID_ROOT 

es equivalente a

 cd "/home/piperoman/Librerias/Ogre" "Android" "SDK" 

Por lo que debe citar, es decir, "$OGRE_ANDROID_ROOT"

Tratar

 cd "$OGRE_ANDROID_ROOT" 

Con comillas.

Simplemente agregue la línea en .bashrc sin la barra invertida:

 export OGRE_ANDROID_ROOT="/home/piperoman/Librerias/Ogre Android SDK" 

Y luego usar comillas para envolver la variable cuando quiera cd :

 cd "$OGRE_ANDROID_ROOT" 

Probado con la export MYT="/home/me/test/my test/"

Esto se debe a que el nombre de la carpeta como espacios en blanco entre. En linux estos espacios en blanco normalmente no se utilizan ya que no se identifican como una sola carpeta.

Por ejemplo

 $ mkdir hello\ world // will create a folder named hello world $ cd hello\ world // go in to the created folder $ pwd // display the directory name 

Esto se mostrará como hello> space <world

Por lo tanto, el entorno vairable $ OGRE_ANDROID_ROOT se establece como / home / piperoman / Librerias / Ogre y no / home / piperoman / Librerias / Ogre Android SDK

Para resolver este error, cambie el nombre de la carpeta, para que se eliminen los espacios en blanco

  • Error de segmentación al usar dlclose (...) en la plataforma android
  • Android pierde las herramientas de la plataforma
  • Cómo hacer una imagen de la partición de Android a su PC
  • Kivy: icono de notificación de multiplataforma
  • Android - Comando no encontrado
  • Android vs Linux para la aplicación de pantalla táctil integrada
  • ¿Dónde puedo encontrar un buen tutorial para comenzar a programar usando Cocos2D-x?
  • Rellena espacio en disco en el dispositivo Android
  • Cómo dibujar con framebuffer en Android?
  • Compilación de la aplicación Qt para Android usando CMake (no por Qt Creator)
  • Búsqueda de ubicación mediante MCC, MNC, LAC y ID de celda
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.