fbpx
Wikipedia

Variable de entorno

Una variable de entorno es una variable dinámica que puede afectar al comportamiento de los procesos en ejecución en un ordenador.

Son parte del entorno en el que se ejecuta un proceso. Por ejemplo, un proceso en ejecución puede consultar el valor de la variable de entorno TEMP para descubrir una ubicación adecuada para almacenar archivos temporales, o la variable HOME o USERPROFILE para encontrar la estructura de directorios propiedad del usuario que ejecuta el proceso.

Fueron introducidas en su forma moderna en 1979 con la versión 7 de Unix, por lo que están incluidas en todos los sabores y variantes del sistema operativo Unix a partir de ese momento, incluyendo Linux y macOS. Desde PC DOS 2.0 en 1982, todos los sistemas operativos de Microsoft, incluyendo Microsoft Windows y OS/2, también las han incluido como una característica, aunque con sintaxis, uso y nombres de variables estándar algo diferentes.

Obtener y dar valores a las variables de entorno

Es posible acceder al valor de una variable, ya sea tanto 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 para cada sistema operativo. En el caso de sistemas Unix, depende del intérprete de comandos (o shell) que se use, pues este 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 escribirse en la línea de comandos:

echo %PATH% 

Observaciones: 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 la línea de comandos, pero no desde otras, ni se mantendrá de forma permanente.

Para lograr un cambio permanente (lo que en informática se conoce como persistencia), 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 con el botón secundario del ratón 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 debajo, buscar y dar clic al botón Variables de entorno.
  • Para modificar una variable existente, hacer clic 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, por lo 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 la variable del 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 coma con las extensiones conocidas de los archivos ejecutables. Si el nombre de un ejecutable termina 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%

Muestra la cadena del directorio actual.

%DATE%

Muestra la fecha actual usando el mismo formato que el comando DATE.

%TIME%

Muestra la hora actual usando el mismo formato que el comando TIME.

%RANDOM%

Muestra un número decimal aleatorio entre 0 y 32767.

%ERRORLEVEL%

Muestra el valor de NIVEL DE ERROR actual (normalmente, el código de retorno del último comando externo ejecutado).

%CMDEXTVERSION%

Muestra el número de versión de las extensiones del procesador de comandos.

%CMDCMDLINE%

Muestra la línea de comando original que invocó el procesador de comandos.

UNIX Y GNU

$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 actual.

$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 idioma 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 país será Brasil.

$RANDOM

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

$PWD

Contiene la ruta al directorio de trabajo actual.

$OLDPWD

Contiene la ruta al directorio de trabajo previo, esto es, el valor de $PWD antes de la ejecución del último cd.

$SHELL

Contiene el nombre de la shell interactiva que se está ejecutando, por ejemplo bash.

$TERM

Contiene el nombre de la terminal que se está ejecutando, por ejemplo xterm.

$PAGER

Contiene la ruta al programa usado para listar el contenido de archivos, por ejemplo:

/bin/less 
$EDITOR

Contiene la ruta al editor de texto, normalmente un editor liviano por ejemplo:

/usr/bin/nano 
$VISUAL

Contiene la ruta al editor de texto, normalmente un editor poderoso, por ejemplo vi, vim, emacs, etc.

$MAIL

Contiene la ubicación del correo electrónico entrante. La configuración tradicional es:

/var/spool/mail/$LOGNAME. 
$HISTFILE

El nombre del archivo donde se guarda el historial de comandos.

$HISTFILESIZE

El número máximo de líneas contenidas en el historial de comandos.

$HOSTNAME

Contiene el nombre de host del sistema.

$PS1

El prompt (la entrada de la línea de comandos) por defecto .

$USER

Nombre de usuario actual registrado en el sistema.

$MANPATH

Cadena de texto separada por comas con las ubicaciones de las páginas del manual.

Referencias

  1. El comando SET en la documentación de Windows XP
  2. Herramientas de soporte técnico de Windows XP Service Pack 2
  3. Hilo en la lista de correo de ARACHNE acerca del daño potencial

Enlaces externos

  • How To Manage Environment Variables in Windows XP — microsoft.com
  • Environment Variables in Windows XP — Computer Education
  •   Datos: Q400857

variable, entorno, variable, entorno, variable, dinámica, puede, afectar, comportamiento, procesos, ejecución, ordenador, parte, entorno, ejecuta, proceso, ejemplo, proceso, ejecución, puede, consultar, valor, variable, entorno, temp, para, descubrir, ubicació. Una variable de entorno es una variable dinamica que puede afectar al comportamiento de los procesos en ejecucion en un ordenador Son parte del entorno en el que se ejecuta un proceso Por ejemplo un proceso en ejecucion puede consultar el valor de la variable de entorno TEMP para descubrir una ubicacion adecuada para almacenar archivos temporales o la variable HOME o USERPROFILE para encontrar la estructura de directorios propiedad del usuario que ejecuta el proceso Fueron introducidas en su forma moderna en 1979 con la version 7 de Unix por lo que estan incluidas en todos los sabores y variantes del sistema operativo Unix a partir de ese momento incluyendo Linux y macOS Desde PC DOS 2 0 en 1982 todos los sistemas operativos de Microsoft incluyendo Microsoft Windows y OS 2 tambien las han incluido como una caracteristica aunque con sintaxis uso y nombres de variables estandar algo diferentes Indice 1 Obtener y dar valores a las variables de entorno 1 1 MS DOS y Windows 1 2 UNIX GNU Linux 2 Variables de entorno comunes 2 1 Windows 2 1 1 Valores por defecto de las variables de entorno 2 1 2 Pseudo variables 2 2 UNIX Y GNU 3 Referencias 4 Enlaces externosObtener y dar valores a las variables de entorno EditarEs posible acceder al valor de una variable ya sea tanto para consultarlo como para modificarlo tanto dentro de scripts como desde la linea de comandos La forma en que se accede al contenido de una variable varia para cada sistema operativo En el caso de sistemas Unix depende del interprete de comandos o shell que se use pues este es el encargado del manejo de las variables de entorno MS DOS y Windows Editar Por ejemplo para mostrar el contenido de la variable de entorno PATH que mantiene la ruta de busqueda de programas en el sistema debe escribirse en la linea de comandos echo PATH Observaciones 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 asignacion sera visible desde todos los programas iniciados a partir de ese momento desde la misma ventana de la linea de comandos pero no desde otras ni se mantendra de forma permanente Para lograr un cambio permanente lo que en informatica se conoce como persistencia 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 con el boton secundario del raton sobre el icono de Mi PC En el menu contextual elegir la opcion Propiedades A continuacion en la ventana emergente hacer clic en la pestana Opciones avanzadas Luego debajo buscar y dar clic al boton Variables de entorno Para modificar una variable existente hacer clic en su nombre y luego en el boton Modificar Para crear una nueva variable usar el boton Nueva Los valores iniciales de las variables de entorno se almacenan en el registro de Windows por lo 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 la variable del PATH del sistema pero usando barras en lugar de gt 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 ano actual los ultimos cuatro caracteres de la variable DATE gt set YEAR DATE 4 gt echo YEAR 2010 UNIX GNU Linux Editar 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 tambien para asignar valores a variables de entorno y normalmente son funciones incorporadas del interprete de comandos printenv permite tambien mostrar el valor de una variable de entorno particular si se le pasa su nombre como unico parametro La forma de asignar un valor a una variable es variable valor Pueden usarse tambien los siguientes comandos aunque dependen del interprete export VARIABLE valor en Bourne e interpretes de comandos relacionados setenv VARIABLE valor en csh e interpretes de comandos relacionados El manejo de variables de entorno es altamente versatil en entornos UNIX Linux Variables de entorno comunes EditarWindows Editar 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 interprete de comandos buscara los archivos ejecutables que no se invocan con una ruta explicita Notese que es posible asignarle valores a PATH con el comando homonimo 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 interprete de comandos y escribimos firefox http es wikipedia org se abrira una ventana del navegador sin necesidad de escribir la ruta completa al programa PATHEXT Esta variable contiene una lista separada por punto y coma con las extensiones conocidas de los archivos ejecutables Si el nombre de un ejecutable termina con una extension incluida en esta lista es posible omitir dicha extension al invocar el programa Un valor tipico es COM EXE BAT CMD VBS VBE JS JSE WSF WSH Por ejemplo debido a que EXE esta 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 Notese que TEMP en MS DOS 5 apuntaba a menudo a C DOS por lo que eliminar todos los archivos de TEMP podia causar muchos problemas El creador del navegador web Arachne no considero esta posibilidad lo que le genero varias criticas 3 Valores por defecto de las variables de entorno Editar 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 declaracion explicita 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 Codigo del formato de Cmd exe El codigo es normalmente P G Codigo del formato de Cmd exe El codigo 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 Editar No almacenan un valor fijo sino que se evaluan al momento de pedir su valor CD Muestra la cadena del directorio actual DATE Muestra la fecha actual usando el mismo formato que el comando DATE TIME Muestra la hora actual usando el mismo formato que el comando TIME RANDOM Muestra un numero decimal aleatorio entre 0 y 32767 ERRORLEVEL Muestra el valor de NIVEL DE ERROR actual normalmente el codigo de retorno del ultimo comando externo ejecutado CMDEXTVERSION Muestra el numero de version de las extensiones del procesador de comandos CMDCMDLINE Muestra la linea de comando original que invoco el procesador de comandos UNIX Y GNU Editar PATHContiene una lista separada por dos puntos de directorios en los cuales el interprete de comandos buscara los archivos ejecutables que no se invocan con una ruta Por razones obvias de seguridad normalmente esta variable de entorno no contiene el directorio actual HOMEContiene la ubicacion del directorio de usuario De esta manera los dos comandos siguientes tienen el mismo efecto cd cd HOME DISPLAYContiene el identificador del display que los programas de X11 deben usar por defecto LANG LC ALLLANG contiene el idioma por defecto del sistema LC ALL permite ignorar su contenido Por ejemplo si contiene pt BR entonces el idioma sera portugues de Brasil y el pais sera Brasil RANDOMEs una variable de entorno especial que cuando se intenta obtener su contenido devuelve un valor aleatorio PWDContiene la ruta al directorio de trabajo actual OLDPWDContiene la ruta al directorio de trabajo previo esto es el valor de PWD antes de la ejecucion del ultimo cd SHELLContiene el nombre de la shell interactiva que se esta ejecutando por ejemplo bash TERMContiene el nombre de la terminal que se esta ejecutando por ejemplo xterm PAGERContiene la ruta al programa usado para listar el contenido de archivos por ejemplo bin less EDITORContiene la ruta al editor de texto normalmente un editor liviano por ejemplo usr bin nano VISUALContiene la ruta al editor de texto normalmente un editor poderoso por ejemplo vi vim emacs etc MAILContiene la ubicacion del correo electronico entrante La configuracion tradicional es var spool mail LOGNAME HISTFILEEl nombre del archivo donde se guarda el historial de comandos HISTFILESIZEEl numero maximo de lineas contenidas en el historial de comandos HOSTNAMEContiene el nombre de host del sistema PS1El prompt la entrada de la linea de comandos por defecto USERNombre de usuario actual registrado en el sistema MANPATHCadena de texto separada por comas con las ubicaciones de las paginas del manual Referencias Editar El comando SET en la documentacion de Windows XP Herramientas de soporte tecnico de Windows XP Service Pack 2 Hilo en la lista de correo de ARACHNE acerca del dano potencialEnlaces externos EditarHow To Manage Environment Variables in Windows XP microsoft com Environment Variables in Windows XP Computer Education Datos Q400857 Obtenido de https es wikipedia org w index php title Variable de entorno amp oldid 139272641, wikipedia, wiki, leyendo, leer, libro, biblioteca,

español

, española, descargar, gratis, descargar gratis, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, imagen, música, canción, película, libro, juego, juegos