macos - rutas - Mac OS X 10.9-configurando variables de entorno permanentes
variable java_home mac (4)
Acabo de hacer esto realmente fácil y rápido. Primero crea un ~ / .bash_profile desde la terminal:
touch ~/.bash_profile
entonces
open -a TextEdit.app ~/.bash_profile
añadir
export TOMCAT_HOME=/Library/Tomcat/Home
Guarda el documento en TextEdit y listo.
¿Cómo configuro una variable de entorno permanente (es decir, una que no necesita exportar cada vez que comienzo una nueva sesión de Terminal) en Mac OS X 10.9? He encontrado varias respuestas sobre la modificación de mi .bash_profile
y .profile
, sin embargo, ninguna de estas opciones parece funcionar como una solución permanente, solo temporal. La variable que estoy tratando de establecer es MULE_HOME
. Tengo la siguiente línea en mi perfil de bash:
export MULE_HOME=$(/opt/mule-standalone-3.4.0)
Sin embargo, cuando comienzo a Terminal Server obtengo la siguiente línea (¿no estoy seguro de que sea un comportamiento normal?):
-bash: /opt/mule-standalone-3.4.0: is a directory
Y ejecutar un simple comando env
devuelve lo siguiente:
TERM_PROGRAM=Apple_Terminal
SHELL=/bin/bash
TERM=xterm-256color
TMPDIR=/var/folders/fc/68bqp4jj411gynj5qvwhq6z1shs1fy/T/
Apple_PubSub_Socket_Render=/tmp/launch-xKtkql/Render
TERM_PROGRAM_VERSION=326
TERM_SESSION_ID=E97BFE4B-AF85-4933-B252-0883CC085349
USER=dan
SSH_AUTH_SOCK=/tmp/launch-rEmTWW/Listeners
__CF_USER_TEXT_ENCODING=0x730C85DE:0:0
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin
__CHECKFIX1436934=1
PWD=/Users/dan
JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_51.jdk/Contents/Home
LANG=en_GB.UTF-8
MULE_HOME=
SHLVL=1
HOME=/Users/dan
LOGNAME=danwiseman
_=/usr/bin/env
Para evitar esto, actualmente tengo que escribir export MULE_HOME=/opt/mule-standalone-3.4.0
cada vez que comienzo una nueva sesión de Terminal que, aunque no extenuante, es un poco inconveniente. ¿Qué estoy haciendo mal aquí que hace que la variable solo se establezca temporalmente? Gracias por adelantado.
Alternativamente, también puede agregar el siguiente comando a su .bash_profile
si desea que sus variables de entorno sean visibles por las aplicaciones gráficas. En Mac OS X, las aplicaciones gráficas no heredan su configuración .bash_profile:
launchctl setenv MYPATH myvar
Puedes poner tu declaración de exportación en ~/.bashrc
Suelte el bit $(...)
, que intentará ejecutar el comando entre corchetes y establecer $MULE_HOME
en lo que produzca. En su caso, /opt/mule-standalone-3.4.0
no es un ejecutable, de ahí el error que está obteniendo.
export MULE_HOME=/opt/mule-standalone-3.4.0
y use ~/.bashrc
no ~/.bash_profile
.
EDITAR: Parece que la opinión es que debe establecer variables de entorno en su script ~/.bash_profile
, y no en el script ~/.bashrc
.