Diferencia entre revisiones de «Variable de entorno»

560 bytes añadidos ,  hace 10 meses
m
Se agregan enlaces internos y se realizan correcciones menores.
m (Corrección de erratas menores)
m (Se agregan enlaces internos y se realizan correcciones menores.)
Una '''variable de entorno''' es una [[Variable (programación)|variable]] dinámica que puede afectar al comportamiento de los [[Proceso (informática)|procesos]] en ejecución en un [[Computadora|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 [[Archivo temporal|archivos temporales]], o la variable HOME o USERPROFILE para encontrar la estructura de [[Directorio|directorios]] propiedad del [[Usuario (informática)|usuario]] que ejecuta el proceso.
 
Fueron introducidas en su forma moderna en [[1979]] con la [[UNIX Versión 7|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 [[GNU/Linux|Linux]] y [[macOS]]. Desde [[IBM PC DOS|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.
 
== ObteniendoObtener y dandodar 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 [[script]]s 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 (informática)|ruta]] de búsqueda de programas en el sistema) debe escribirse en la línea de [[Comando (informática)|comandos]]:
 
echo %PATH%
 
Observaciones: El comando <tt>SET</tt>, sin [[Argumento (informática)|argumentos]], muestra todas las variables de entorno junto con sus respectivos valores.
 
Para asignar un valor a una variable se usa:<ref>[http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/set.mspx?mfr=true El comando SET en la documentación de Windows XP]</ref>
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 (informática)|persistencia]]), se puede usar el comando <tt>SETX</tt> (opcional, disponible dentro de las Herramientas de Soporte).<ref>[http://www.microsoft.com/downloads/details.aspx?FamilyID=49AE8576-9BB9-4126-9761-BA8011FABF38&displayLang=es Herramientas de soporte técnico de Windows XP Service Pack 2]</ref> O bien, desde el escritorio de Windows XP:
 
*Hacer clic con el botón secundario del [[Ratón (informática)|ratón]] sobre el icono de ''Mi PC''.
 
;%PATHEXT%
Esta variable contiene una lista separada por punto y coma con las [[Extensión de archivo|extensiones]] conocidas de los [[Ejecutable|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 </tt>.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH</tt>. Por ejemplo, debido a que .EXE está en la lista, podemos escribir <tt>firefox</tt> (en lugar de <tt>firefox.exe</tt>) 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.<ref>[http://www.mail-archive.com/arachne@arachne.cz/msg06852.html Hilo en la lista de correo de ARACHNE acerca del daño potencial]</ref>
 
==== Valores por defecto de las variables de entorno ====
Muestra la línea de comando original que invocó el procesador de comandos.
 
=== UNIX Y [[GNU /Linux|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 [[Carpeta de usuario|directorio de usuario]]. De esta manera, los dos comandos siguientes tienen el mismo efecto:
cd ~
cd $HOME
 
;$LANG, $LC_ALL
LANG contiene el [[idioma]] por defecto del sistema; LC_ALL permite ignorar su contenido. Por ejemplo, si contiene <code>pt_BR</code>, entonces el idioma será [[Portugués brasileño|portugués de Brasil]] y el país será [[Brasil]].
 
;$RANDOM
 
;$SHELL
Contiene el nombre de la [[Shell (informática)|shell]] interactiva que se está ejecutando, por ejemplo [[bash]].
 
;$TERM
Contiene el nombre de la [[Terminal (informática)|terminal]] que se está ejecutando, por ejemplo [[xterm]].
 
;$PAGER
 
;$EDITOR
Contiene la ruta al [[editor de texto]], normalmente un editor liviano por ejemplo:
/usr/bin/nano
 
 
;$HOSTNAME
Contiene el nombre de [[host]] del sistema.
 
;$PS1
El [[prompt]] (la entrada de la línea de comandos) por defecto .
 
;$USER
 
;$MANPATH
Cadena de texto [[Valores separados por comas|separada por comas]] con las ubicaciones de las [[Man (Unix)|páginas del manual]].
 
== Referencias ==
253

ediciones