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)