¿Qué son las Variables de Entorno?
Las variables de entorno mantienen valores relacionados con el entorno actual, como el Sistema Operativo o las sesiones de usuario.
Ruta
Una de las más conocidas se llama PATH
en Windows, Linux y Mac OS X. Especifica los directorios en los que se encuentran los programas ejecutables* en la máquina que pueden ser iniciados sin saber y escribiendo la ruta completa del archivo en la línea de comandos. (O en Windows, el diálogo Ejecutar en el menú de inicio o
+R). En Linux y Mac OS X, normalmente contiene todos los directorios bin
y sbin
relevantes para el usuario actual. En Windows, contiene al menos los directorios C:\Windows
y C:\Windows\system32
- por eso puedes ejecutar calc.exe
o notepad.exe
desde la línea de comandos o el diálogo Ejecutar, pero no firefox.exe
. (Firefox se encuentra en C:\Program Files\Mozilla Firefox
. Para obtener información sobre cómo incluir Firefox, ve aquí .)
Por ejemplo, si escribes calc
(se puede omitir el .exe
can) en la línea de comandos de Windows, se iniciará la Calculadora de Windows.
* Puedes añadir soporte para extensiones de archivo diferentes a .exe
editando %PATHEXT%
.
Otras
Otras variables pueden indicar a los programas qué tipo de terminal se utiliza (TERM
en Linux/Mac OS X), o, en Windows, dónde se encuentra la carpeta de Windows (por ejemplo, %WINDIR%
es C:\Windows
).
Creación de nuevas variables de entorno
En Windows, Linux y Unix, es posible crear nuevas variables de entorno, cuyos valores se ponen a disposición de todos los programas al ser lanzados.
Se puede usar esto cuando se escriben scripts o programas que se instalan o despliegan en múltiples máquinas y necesitan hacer referencia a valores que son específicos de estas máquinas. Aunque se puede lograr un efecto similar usando los ajustes de configuración específicos del programa, es más fácil hacerlo usando una variable de entorno si varios programas necesitan acceder al mismo valor.
Windows
GUI
Abrir Control Panel » System » Advanced » Environment Variables
.
Escriba control sysdm.cpl,,3
en el cuadro de diálogo Ejecutar (
+R) y haga clic en Environment Variables
.
Para editar las variables de usuario también puede escribir
Haga clic con el botón derecho del ratón en (Mi) ordenador y haga clic en Propiedades, o simplemente pulse
+Break.
Hay muchas otras formas de llegar al mismo lugar, como escribir “variables de entorno” en el cuadro de búsqueda del menú de inicio/pantalla, etc.
Las variables de entorno en Windows están separadas en valores específicos de usuario y máquina/sistema. Puedes ver y editar sus valores allí. Sus valores actuales en el momento del lanzamiento están disponibles para todos los programas.
También existe el Rapid Environment Editor , que ayuda a configurar y cambiar las variables de entorno en Windows sin necesidad de profundizar en la configuración del sistema. Otro programa de código abierto para Windows con el que se puede editar el entorno de la ruta muy convenientemente es Path Editor .
Línea de comandos
Formato
Las variables de entorno en Windows se denotan con signos de porcentaje (%) alrededor del nombre:
%name%
eco
Para mostrar el valor de una variable de entorno en cmd.exe
, teclee echo %name%
.
C:\>echo %USERPROFILE%
C:\Users\Daniel
set
Para crear/configurar una variable, use set varname=value
:
C:\>set FunnyCatPictures=C:\Users\Daniel\Pictures\Funny Cat Pictures
C:\>set FunnyCatPicturesTwo=%USERPROFILE%\Pictures\Funny Cat Pictures 2
Para aponer/añadir una variable, use set varname=value;%varname%
:
C:\>set Penguins=C:\Linux
C:\>set Penguins=C:\Windows;%Penguins%
C:\>echo %Penguins%
C:\Windows;C:\Linux
Las variables de entorno configuradas de esta forma están disponibles para (el resto de) la duración del proceso Command Prompt en el que están configuradas, y están disponibles para los procesos que se inicien después de que las variables se hayan configurado.
setx
Para crear/configurar una variable permanentemente , use setx varname "value"
:
C:\>setx FunnyCatPictures "C:\Users\Daniel\Pictures\Funny Cat Pictures"
[Restart CMD]
C:\>echo %FunnyCatPictures%
C:\Users\Daniel\Pictures\Funny Cat Pictures
A diferencia de set
, no hay signo de igualdad y el valor debe ser encerrado entre comillas si contiene algún espacio. Ten en cuenta que las variables pueden expandirse a una cadena con espacios (por ejemplo, %PATH%
se convierte en C:\Program Files
), por lo que es mejor incluir comillas alrededor de los valores que contengan cualquier variable.
Debes agregar manualmente setx
a las versiones de Windows anteriores a Vista. Herramientas de soporte de Windows XP Service Pack 2
Lista de variables de entorno de Windows
Aquí es una lista de variables de entorno predeterminadas , que están incorporadas en Windows. Algunos ejemplos son: %WINDIR%
, %SystemRoot%
, %USERPROFILE%
y %APPDATA%
. Como la mayoría de los nombres de Windows, no distinguen entre mayúsculas y minúsculas.
Derivados de Unix (FreeBSD, GNU / Linux, OS X)
Las variables de entorno en Linux se prefijan con un signo de dólar ($) como $HOME o $NOMBRE DE ANFITRIÓN. Muchas variables conocidas y estándar se escriben en mayúsculas para significar justamente eso. Tenga en cuenta que los nombres de las variables distinguen entre mayúsculas y minúsculas, lo que significa que $Usuario y $Usuario no están relacionados en absoluto desde el punto de vista del shell.
Los derivados de Unix definen las variables de todo el sistema en scripts de shell situados principalmente en la carpeta /etc
, pero se pueden dar valores específicos de usuario a esas variables en scripts situados en la carpeta principal (por ejemplo, /etc/profile
, $HOME/.bash_profile
). El archivo .profile
de la carpeta principal es un lugar común para definir las variables de usuario.
Configuración variables
Estos archivos son scripts de shell regulares y pueden contener más que sólo declaraciones de variables de entorno. Para establecer una variable de entorno, use export
. Para mostrar sus variables de entorno actualmente definidas en una terminal, ejecute env
.
El comando export
es una forma estándar de definir variables. La sintaxis es muy intuitiva. El resultado es idéntico para estas dos líneas, pero la primera alternativa es preferible en caso de que sea necesaria la portabilidad al shell Bourne pre-POSIX.
var=value; export var
export var=value
El shell C y sus descendientes usan una sintaxis completamente diferente; allí, el comando es setenv
.
Vea el proyecto de documentación de Linux, Path HOWTO para una discusión más profunda sobre este tema.
Tal vez al contrario de lo que se cree, OS X es más “Unix” que Linux. Además de los archivos ya mencionados, $PATH puede ser modificado en estos archivos:
/etc/paths
contiene todos los directorios por defecto que se añaden a la ruta, como /bin
y /usr/sbin
.
- Cualquier archivo en
/etc/paths.d
- comúnmente usado por los instaladores para hacer que los archivos ejecutables que proporcionan estén disponibles desde el shell sin tocar los archivos de configuración del sistema o específicos del usuario. Estos archivos simplemente contienen una ruta por línea, por ejemplo, /Programas/Mozilla/Calendario/bin.
Enlaces externos:
Variables de Entorno en XP
Herramientas de Soporte para Windows XP Service Pack 2 (Incluye setx
)
Variables de Entorno en Windows Vista y Windows 7
Añadir ejecutables al Cuadro de Diálogo de Ejecución
Mac OSX Tips - Configurar Variables de Entorno
TLDP: Path Howto