Provided by: manpages-es_1.55-10_all bug

NOMBRE

       environ - entorno del usuario

SINOPSIS

       extern char **environ;

DESCRIPCIÓN

       La  variable environ apunta a un vector de cadenas llamado `el entorno'.  (Esta variable se debe declarar
       en el programa de usuario, aunque se declara en el fichero cabecera  unistd.h  en  el  caso  de  que  los
       ficheros  cabecera  procedan  de  libc4  o libc5 y en el caso de que procedan de glibc y se haya definido
       _GNU_SOURCE.)  Cuando un proceso comienza, exec(3) le proporciona este vector de cadenas.  Por  convenio,
       estas cadenas son de la forma `nombre=valor'.  Algunos ejemplos comunes son:

       USER   El nombre del usuario que ha entrado en el sistema (usado por algunos programas derivados de BSD).

       LOGNAME
              El  nombre  del  usuario  que  ha  entrado en el sistema (usado por algunos programas derivados de
              System-V).

       HOME   El directorio de entrada del usuario,  puesto  por  login(1)  a  partir  del  fichero  de  cuentas
              passwd(5).

       LANG   El  nombre  de  una  localización  para  su  empleo  como categoría de localizaciones cuando no se
              suministra la variable de ambiente LC_ALL o alguna otra más específica como LC_COLLATE,  LC_CTYPE,
              LC_MESSAGES, LC_MONETARY, LC_NUMERIC, LC_TIME, cf.  locale(5).

       PATH   Lista  de  nombres  de  directorios  que  sh(1)  y muchos otros programas emplean cuando buscan un
              fichero cuyo nombre de camino es incompleto.  Los nombres se separaran por `:'.  (De forma análoga
              tenemos CDPATH que utilizan algunas shells para buscar el argumento de  una  orden  de  cambio  de
              directorio de trabajo, MANPATH empleado por man(1) para buscar páginas del Manual, etc.)

       PWD    El directorio de trabajo en curso. Puesto por varias shells.

       SHELL  El nombre del intérprete de órdenes usado por el usuario cuando entra en su cuenta.

       TERM   El tipo de terminal para la cual se va a formatear la salida.

       PAGER  La utilidad preferida por el usuario para mostrar el contenido de ficheros de texto.

       EDITOR/VISUAL
              La utilidad preferida por el usuario para editar ficheros de texto.

       BROWSER
              La  utilidad preferida por el usuario para navegar por URLs. Contiene una secuencia de navegadores
              separados por dos puntos. Vea http://www.tuxedo.org/~esr/BROWSER/ .

       Se pueden poner otros nombres en el entorno mediante  la  orden  export  y  `nombre=valor'  en  sh(1),  o
       mediante  la  orden setenv en csh(1).  También se pueden poner argumentos en el entorno cuando se llama a
       exec(2).  Un programa en C puede manipular su entorno mediante las funciones getenv(), putenv(), setenv()
       y unsetenv().

       Observe que el comportamiento de muchos programas y funciones de biblioteca se  ve  influenciado  por  la
       presencia o valor de ciertas variables de entorno.  Una colección al azar:

       Las variables LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES,
        etc., tienen influencia en el manejo de localizaciones, cf.
        .BR locale (5).

       TMPDIR tiene influencia sobre el prefijo de nombres de ficheros creados por tempnam() y otras rutinas, el
       directorio temporal utilizado por sort(1) y otros programas, etc.

       LD_LIBRARY_PATH,  LD_PRELOAD  y  otras  variables  que  comienzan  por  LD_  tienen  influencia  sobre el
       comportamiento del enlazador/cargador dinámico.

       POSIXLY_CORRECT hace que ciertos programas y funciones de biblioteca sigan las prescripciones de POSIX.

       El comportamiento de malloc(3) viene determinado por variables cuyos nombres comienzan por MALLOC_.

       La variable HOSTALIASES da el  nombre  de  un  fichero  que  contiene  alias  que  utilizará  la  función
       gethostbyname(3).

       TZ  y TZDIR proporcionan información sobre el huso horario que es usada por tzset(3) y por funciones como
       ctime(), localtime(), mktime(), strftime().  Véase también tzselect(1).

       TERMCAP da información sobre cómo manejar una terminal dada (o da el nombre de un  fichero  que  contiene
       esa información).

       COLUMNS  y LINES informan a las aplicaciones sobre el tamaño de la ventana, sobreescribiendo posiblemente
       el tamaño real.

       PRINTER o LPDEST pueden especificar la impresora que se desea usar. Vea lpr(1).

       Etc.

FALLOS

       Claramente aquí hay un riesgo en cuanto a la seguridad. Muchas  veces  una  orden  del  sistema  ha  sido
       forzada  a  actuar  de  forma  malintencionadamente incorrecta por un usuario que ha especificado valores
       inusuales para IFS o LD_LIBRARY_PATH.

       También hay riesgo de contaminación del espacio de nombres.  Programas  como  make  y  autoconf  permiten
       sobreescribir  los nombres de utilidades por defecto del entorno con variables de nombre similar en todas
       las capitalizaciones.  De esta forma se debe usar CC para seleccionar  el  compilador  de  C  deseado  (y
       similarmente)  MAKE,  AR,  AS,  FC, LD, LEX, RM, YACC, etc.).  Sin embargo, en algunos usos típicos tales
       variables de entorno contienen opciones para los programas en lugar de un nombre de camino.  Así,  pueden
       encontrarse  MORE,  LESS,  y  GZIP.   Tal  uso es considerado erróneo y se aconseja evitarlo en programas
       nuevos. Los autores de gzip deberían considerar renombrar sus opciones a GZIP_OPT.

VÉASE TAMBIÉN

       login(1),  sh(1),  bash(1),  csh(1),  tcsh(1),  execve(2),  exec(3),  getenv(3),  putenv(3),   setenv(3),
       clearenv(3), unsetenv(3), locale(5)

Linux                                           14 diciembre 2001                                     ENVIRON(5)