[Macos] Establecer variables de entorno en Mac OS X Lion


Answers

Su ".profile" o ".bash_profile" son simplemente archivos que están presentes en su carpeta "home". Si abre una ventana del Buscador y hace clic en el nombre de su cuenta en el panel de Favoritos ... no podrá verlos. Si abre una ventana de Terminal y escribe "ls" para listar archivos ... aún no los verá. Pero puedes encontrarlos usando "ls -a" en la terminal. O si abre su editor de texto favorito (digamos TextEdit ya que viene con OS X) y haga File-> Open y luego presione Command + Shift +. y haga clic en el nombre de su cuenta (carpeta de inicio) y los verá también. Si no los ve, entonces simplemente puede crear uno en su editor de texto favorito.

Ahora, agregar variables de entorno es bastante directo y notablemente similar a las ventanas conceptualmente. En su .profile simplemente agregue, uno por línea, el nombre de la variable y su valor de la siguiente manera:

export JAVA_HOME=/Library/Java/Home
export JRE_HOME=/Library/Java/Home

etc.

Si está modificando su variable "PATH", asegúrese de incluir la ruta de acceso predeterminada del sistema que ya estaba configurada para usted:

export PATH=$PATH:/path/to/my/stuff

Ahora, aquí está la parte estrafalaria, puede abrir una nueva ventana de Terminal para que las nuevas variables tengan efecto, o tendrá que escribir ".profile" o ".bash_profile" para volver a cargar el archivo y hacer que se aplique el contenido al entorno de su terminal actual.

Puede verificar que los cambios surtan efecto utilizando el comando "establecer" en su Terminal. Simplemente escriba "set" (o "set | more" si prefiere una lista paginada) y asegúrese de que lo que agregó al archivo esté allí.

En cuanto a agregar variables de entorno a las aplicaciones de la GUI, normalmente no es necesario y me gustaría saber más sobre lo que estás tratando específicamente de hacer para ofrecerte una mejor respuesta.

Question

Cuando alguien dice "edite su archivo .plist" o "su archivo .profile" o ".bash_profile", etc., esto me confunde. No tengo idea de dónde están estos archivos, cómo crearlos si tengo que hacer eso, etc., y también por qué parece haber tantos diferentes (¿por qué? ¿Hacen cosas diferentes?)

Entonces, ¿podría alguien explicar con mucha paciencia a un usuario anterior de Windows (queriendo desesperadamente familiarizarse con el agradable pero inicialmente confuso mundo de OS X) cómo hacerlo paso a paso?

Necesito que las variables se establezcan tanto para las aplicaciones GUI como para las aplicaciones de línea de comandos, y por el momento es para un script ant que necesita las variables, pero probablemente habrá otras necesidades también.

Tenga en cuenta que también tengo Lion, ya que muchas de las respuestas que obtiene Google parecen estar desactualizadas para Lion ...

También tenga en cuenta que tengo prácticamente cero experiencia en el uso de la Terminal. Estoy dispuesto a aprender, pero por favor explica para un novato ...




Explicación simplificada

Esta publicación / pregunta es algo antigua, por lo que responderé una versión simplificada para usuarios de OS X Lion. De forma predeterminada, OSX Lion no tiene ninguno de los siguientes archivos:

  • ~ / .bashrc
  • ~ / .bash_profile
  • ~ / .profile

A lo sumo, si has hecho algo en la terminal, es posible que veas ~ / .bash_history

Lo que significa

Debe crear el archivo para establecer sus comandos bash predeterminados (comúnmente en ~ / .bashrc). Para hacer esto, utilice cualquier tipo de editor, aunque es más simple hacerlo dentro de la terminal:

  1. %> emacs .profile
  2. [desde w / en emacs tipo:] source ~/.bashrc
  3. [desde w / en emacs tipo:] Ctrl + x Ctrl + s (para guardar el archivo)
  4. [desde w / en emacs tipo:] Ctrl + x Ctrl + c (para cerrar emacs)
  5. %> emacs .bashrc
  6. [desde w / en emacs escribe / pega todos tus comandos bash, guardar y salir]

La próxima vez que salga y vuelva a cargar la terminal, debería cargar todas sus preferencias de bash. Para una buena medida, generalmente es una buena idea separar sus comandos en nombres de archivos útiles. Por ejemplo, desde dentro de ~ / .bashrc, debe tener una source ~/.bash_aliases y poner todos sus comandos de alias en ~ / .bash_aliases.




Tomé la ruta idiota. Se agregaron al final de / etc / profile

for environment in `find /etc/environments.d -type f`
do
     . $environment
done

Creé una carpeta / etc / environments y creé un archivo llamado "oráculo" o "lo que sea" y agregué las cosas que necesitaba establecer globalmente.

/ etc $ cat /etc/environments.d/Oracle

export PATH=$PATH:/Library/Oracle/instantclient_11_2
export DYLD_LIBRARY_PATH=/Library/Oracle/instantclient_11_2
export SQLPATH=/Library/Oracle/instantclient_11_2
export PATH=$PATH:/Library/Oracle/instantclient_11_2
export TNS_ADMIN=/Library/Oracle/instantclient_11_2/network/admin



Más detalles, que tal vez puedan ser útiles para alguien:

Debido a mis propias exploraciones, ahora sé cómo establecer variables de entorno en 7 de 8 maneras diferentes. Estaba tratando de obtener un envar a través de una aplicación que estoy desarrollando bajo Xcode. Establecí "tracer" envars usando estos diferentes métodos para decirme cuáles entran en el alcance de mi aplicación. Desde abajo, puede ver que la edición del "esquema" en Xcode para agregar argumentos funciona, al igual que "putenv". Lo que no lo estableció en ese ámbito: ~ / .MACOS / environment.plist, plist específico de la aplicación, .profile, y agregar una fase de compilación para ejecutar un script personalizado (encontré otra forma en Xcode [al menos] para establecer uno, pero olvidé lo que llamé el rastreador y no puedo encontrarlo ahora, tal vez esté en otra máquina ...)

GPU_DUMP_DEVICE_KERNEL es 3

GPU_DUMP_TRK_ENVPLIST es (nulo)

GPU_DUMP_TRK_APPPLIST es (nulo)

GPU_DUMP_TRK_DOTPROFILE es (nulo)

GPU_DUMP_TRK_RUNSCRIPT es (nulo)

GPU_DUMP_TRK_SCHARGS es 1

GPU_DUMP_TRK_PUTENV es 1

... por otro lado, si entro a Terminal y digo "establecer", parece que el único que obtiene es el de .profile (habría pensado que recogería environment.plist también, y estoy Seguro que una vez que vi un segundo trazador envar en la Terminal, entonces algo probablemente se haya ido de moda desde entonces. Largo día ...)




echo $PATH

imprime el valor actual de la ruta

Luego haz vim ~/.bash_profile y escribe

export PATH=$PATH:/new/path/to/be/added

Aquí se agrega al antiguo camino, por lo que conserva el antiguo y lo agrega a su nuevo camino

entonces hazlo

source ~/.bash_profile

esto lo ejecutará y agregará el camino

luego vuelva a verificar con

echo $PATH



Terminal abierta:

vi ~/.bash_profile

Aplicar cambiando al sistema (no es necesario reiniciar la computadora):

source ~/.bash_profile

(También trabaje con macOS Sierra 10.12.1)




Configure su variable de entorno PATH en Mac OS

Abra el programa Terminal (esto está en su carpeta Aplicaciones / Utilidades de manera predeterminada). Ejecute el siguiente comando

touch ~/.bash_profile; open ~/.bash_profile

Esto abrirá el archivo en su editor de texto predeterminado.

Para ANDROID SDK como ejemplo:

Debe agregar la ruta a su plataforma Android SDK: herramientas y directorio de herramientas. En mi ejemplo, usaré "/ Development / android-sdk-macosx" como el directorio en el que está instalado el SDK. Agregue la siguiente línea:

export PATH=${PATH}:/Development/android-sdk-macosx/platform-tools:/Development/android-sdk-macosx/tools

Guarde el archivo y salga del editor de texto. Ejecute su .bash_profile para actualizar su RUTA.

source ~/.bash_profile

Ahora, cada vez que abre el programa Terminal, PATH incluirá el SDK de Android.