Variable de entorno

Variable de entorno

Las variables de entorno forman un conjunto de valores dinámicos que normalmente afectan el comportamiento de los procesos en una computadora.

Contenido

Obteniendo y dando valores a las variables de entorno

Es posible acceder al valor de una variable, ya para consultarlo como para modificarlo, tanto dentro de scripts como desde la línea de comandos. La forma en que se accede al contenido de una variable varía entre cada sistema operativo. En el caso de sistemas Unix, depende del intérprete de comandos (o shell) que se use, pues éste es el encargado del manejo de las variables de entorno.

MS-DOS y Windows

Por ejemplo, para mostrar el contenido de la variable de entorno PATH (que mantiene la ruta de búsqueda de programas en el sistema) debe teclearse desde la línea de comandos:

echo %PATH%

El comando SET, sin argumentos, muestra todas las variables de entorno junto con sus respectivos valores.

Para asignar un valor a una variable se usa:[1]

SET VARIABLE=valor

Cabe mencionar que esta asignación será visible desde todos los programas iniciados a partir de ese momento desde la misma ventana de línea de comandos, pero no desde otras, ni se mantendrá de forma permanente.

Para lograr un cambio permanente, se puede usar el comando SETX (opcional, disponible dentro de las Herramientas de Soporte).[2] O bien, desde el escritorio de Windows XP:

  • Hacer clic sobre el icono de Mi PC.
  • En el menú contextual, elegir la opción Propiedades.
  • A continuación en la ventana emergente, hacer clic en la pestaña Opciones avanzadas.
  • Luego abajo, buscar y dar click al botón Variables de entorno.
  • Para modificar una variable existente, hacer click en su nombre y luego en el botón Modificar. Para crear una nueva variable, usar el botón Nueva.

Los valores iniciales de las variables de entorno se almacenan en el registro de Windows, así que una tercera forma de lograr un cambio permanente es modificando dichos valores iniciales. Las variables del usuario se almacenan en HKEY_CURRENT_USER\Environment y las variables del sistema en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment.

El manejo de variables de entorno en Windows ha sido mejorado (a partir de XP y versiones posteriores). Por ejemplo, para mostrar el PATH del sistema, pero usando barras / en lugar de \:

>echo %PATH:\=/%
C:/WINDOWS/system32;C:/WINDOWS;C:/WINDOWS/System32/Wbem;C:/Archivos de programa/
QuickTime/QTSystem/;C:/Archivos de programa/Archivos comunes/Adobe/AGL

Para guardar en la variable YEAR el año actual (los últimos cuatro caracteres de la variable %DATE%):

>set YEAR=%DATE:~-4%
>echo %YEAR%
2010

UNIX / GNU/Linux

En varias interfaces texto de Unix y Linux, como por ejemplo en bash, se muestra el valor de una variable mediante:

echo $PATH

Los comandos env, set, y printenv muestran todas las variables de entorno junto con sus respectivos valores. env y set se usan también para asignar valores a variables de entorno y normalmente son funciones incorporadas del intérprete de comandos. printenv permite también mostrar el valor de una variable de entorno particular si se le pasa su nombre como único parámetro.

La forma de asignar un valor a una variable es:

variable=valor

Pueden usarse también los siguientes comandos, aunque dependen del intérprete.

export VARIABLE=valor # en Bourne e intérpretes de comandos relacionados.
setenv VARIABLE valor # en csh e intérpretes de comandos relacionados.

El manejo de variables de entorno es altamente versátil en entornos UNIX/Linux.

Variables de entorno comunes

Windows

%COMSPEC%

Esta variable contiene la ruta completa al procesador de comandos, cmd.exe

%PATH%

Esta variable contiene una lista separada por punto y comas de directorios en los cuales el intérprete de comandos buscará los archivos ejecutables que no se invocan con una ruta explícita. Nótese que es posible asignarle valores a PATH con el comando homónimo, sin necesidad de utilizar SET. Por ejemplo, para poder invocar el navegador firefox desde cualquier directorio:

PATH=%PATH%;c:\Archivos de programa\Mozilla firefox

Si abrimos un nuevo intérprete de comandos y escribimos

firefox http://es.wikipedia.org

se abrirá una ventana del navegador, sin necesidad de escribir la ruta completa al programa.

%PATHEXT%

Esta variable contiene una lista separada por punto y comas con las extensiones conocidas de los archivos ejecutables. Si el nombre de un ejecutable terminan con una extensión incluida en esta lista, es posible omitir dicha extensión al invocar el programa. Un valor típico es .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH. Por ejemplo, debido a que .EXE está en la lista, podemos escribir firefox (en lugar de firefox.exe) para invocarlo.

%TEMP% y %TMP%

Estas variables contienen la ruta al directorio donde almacenar archivos temporales. Nótese que %TEMP% en MS-DOS 5 apuntaba a menudo a C:\DOS, por lo que eliminar todos los archivos de %TEMP% podía causar muchos problemas. El creador del navegador web Arachne no consideró esta posibilidad, lo que le generó varias críticas.[3]

Valores por defecto de las variables de entorno

Variable Windows XP Windows Vista/7
 %ALLUSERSPROFILE% (%PROGRAMDATA%) C:\Documents and Settings\All Users C:\ProgramData
 %APPDATA% C:\Documents and Settings\{username}\Datos de Programa C:\Users\{username}\AppData\Roaming
 %COMPUTERNAME% {nombredeordenador} {nombredeordenador}
 %COMMONPROGRAMFILES% C:\Archivos de programa\Archivos Comunes C:\Archivos de programa\Archivos Comunes
 %COMMONPROGRAMFILES(x86)% C:\Archivos de programa (x86)\Archivos Comunes C:\Archivos de programa (x86)\Archivos Comunes
 %COMSPEC% C:\Windows\System32\cmd.exe C:\Windows\System32\cmd.exe
 %HOMEDRIVE% C:\ C:\
 %HOMEPATH% C:\Documents and Settings\{username} \Usuarios\{username}
 %LOCALAPPDATA% No disponible si es una declaración explícita. C:\Usuarios\{username}\Application Data\Local
 %LOGONSERVER% \\{domain_logon_server} \\{domain_logon_server}
 %PATH% C:\Windows\system32, C:\Windows, C:\Windows\System32\Wbem C:\Windows\system32, C:\Windows, C:\Windows\System32\Wbem
 %PATHEXT% .COM, .EXE, .BAT, .CMD, .VBS, .VBE, .JS, .WSF, .WSH .com, .exe, .bat, .cmd, .vbs, .vbe, .js, .jse, .wsf, .wsh, .msc
 %PROGRAMFILES% C:\Archivos de programa\ C:\Archivos de programa\
 %PROGRAMFILES(X86)% C:\Archivos de programa (x86) (solo en versiones 64-bit) C:\Archivos de programa (x86) (solo en versiones 64-bit)
 %PROMPT% Código del formato de Cmd.exe. El código es normalmente $P$G Código del formato de Cmd.exe. El código es normalmente $P$G
 %SystemDrive% C:\ C:\
 %SystemRoot% El directorio de Windows, normalmente C:\Windows; anteriormente C:\WINNT C:\Windows
 %TEMP% y %TMP% C:\Documents and Settings\{username}\Local Settings\Temp C:\Users\{username}\AppData\Local\Temp
 %USERDOMAIN% {userdomain} {userdomain}
 %USERNAME% {username} {username}
 %USERPROFILE%  %SystemDrive%\Documents and Settings\{username} C:\Users\{username}
 %WINDIR% C:\Windows C:\Windows
 %PUBLIC% C:\Users\Public
 %PSModulePath%  %SystemRoot%\system32\WindowsPowerShell\v1.0\Modules\

Pseudo-variables

No almacenan un valor fijo, sino que se evalúan al momento de pedir su valor.

%CD%

Se expande a la cadena del directorio actual.

%DATE%

Se expande a la fecha actual usando el mismo formato que el comando DATE.

%TIME%

Se expande a la hora actual usando el mismo formato que el comando TIME.

%RANDOM%

Se expande a un número decimal aleatorio entre 0 y 32767.

%ERRORLEVEL%

Se expande al valor de NIVEL DE ERROR actual (usualmente, el código de retorno del último comando externo ejecutado).

%CMDEXTVERSION%

Se expande al número de versión de las extensiones del procesador de comandos.

%CMDCMDLINE%

Se expande a la línea de comando original que invocó el procesador de comandos.

UNIX

$PATH

Contiene una lista separada por dos puntos de directorios en los cuales el intérprete de comandos buscará los archivos ejecutables que no se invocan con una ruta. Por razones obvias de seguridad, normalmente esta variable de entorno no contiene el directorio corriente.

$HOME

Contiene la ubicación del directorio de usuario. De esta manera, los dos comandos siguientes tienen el mismo efecto:

cd ~
cd $HOME
$DISPLAY

Contiene el identificador del display que los programas de X11 deben usar por defecto.

$LANG, $LC_ALL

LANG contiene el locale por defecto del sistema; LC_ALL permite ignorar su contenido. Por ejemplo, si contiene pt_BR, entonces el idioma será portugués de Brasil y el locale será Brasil.

$RANDOM

Es una variable de entorno especial que, cuando se intenta obtener su contenido, devuelve un valor aleatorio.


Referencias

Enlaces externos


Wikimedia foundation. 2010.

Игры ⚽ Нужно решить контрольную?

Mira otros diccionarios:

  • Entorno — Saltar a navegación, búsqueda El término entorno puede referirse a: Medio ambiente Entorno (matemática) Entorno (topología) Entorno de escritorio Variable de entorno Entorno empresarial Entorno de desarrollo integrado Entorno social Obtenido de… …   Wikipedia Español

  • Variable (programación) — Para otros usos de este término, véase Variable. En programación, las variables son espacios reservados en la memoria que, como su nombre indica, pueden cambiar de contenido a lo largo de la ejecución de un programa. Una variable corresponde a un …   Wikipedia Español

  • Variable global — Una variable global es, en informática, una variable accesible en todos los ámbitos de un programa informático. Los mecanismos de interacción con variables globales se denominan mecanismos de entorno global. El concepto de entorno global… …   Wikipedia Español

  • Variable geohistórica del deterioro ambiental venezolano en el siglo XIX — La geohistórica es un proceso de deterioro ecológico con una proyección de situaciones que han acelerado la disminución de los distintos paisajes naturales, teniendo como principal agente de destrucción al hombre, quien a modificado la fauna y… …   Wikipedia Español

  • Análisis del entorno — Saltar a navegación, búsqueda Para que una compañía obtenga una ventaja competitiva, debe permanecer vigilante, y estar permanentemente rastreando los cambios que se producen en su entorno. También tiene que ser ágil para alterar sus estrategias… …   Wikipedia Español

  • Interfaz de entrada común — (en inglés Common Gateway Interface, abreviado CGI) es una importante tecnología de la World Wide Web que permite a un cliente (navegador web) solicitar datos de un programa ejecutado en un servidor web. CGI especifica un estándar para transferir …   Wikipedia Español

  • Protocolos de encaminamiento — Saltar a navegación, búsqueda Usar archivos por lotesCon los archivos por lotes, que se denominan también programas de proceso por lotes o secuencias de comandos, puede simplificar tareas rutinarias o repetitivas. Un archivo por lotes es un… …   Wikipedia Español

  • Command.com — Saltar a navegación, búsqueda command.com es el nombre del intérprete de comandos para DOS y versiones de Windows de 16/32bits (95/98/98 SE/Me). Al ser el primer programa que se ejecuta después del inicio, posee también el rol de la configuración …   Wikipedia Español

  • command.com — Desarrollador Seattle Computer Products, Microsoft Corporation, IBM, Novell y otros Información general Género Shell …   Wikipedia Español

  • Cron (Unix) — Saltar a navegación, búsqueda En el sistema operativo Unix, cron es un administrador regular de procesos en segundo plano (demonio) que ejecuta procesos o scripts a intervalos regulares (por ejemplo, cada minuto, día, semana o mes). Los procesos… …   Wikipedia Español

Compartir el artículo y extractos

Link directo
Do a right-click on the link above
and select “Copy Link”