Provided by: manpages-es_1.55-9_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)