ENVIRON(7)

NOMBRE
environ - entorno del usuario

SINOPSIS
extern char **environ;

DESCRIPCIÓN
The variable environ points to an array of pointers to strings called the "environment". The last pointer in this array has the value NULL. (This variable must be declared in the user program, but is declared in the header file <unistd.h> if the _GNU_SOURCE feature test macro is defined.) This array of strings is made available to the process by the exec(3) call that started the process. When a child process is created via fork(2), it inherits a copy of its parent's environment.

By convention the strings in environ have the form "name=value". Common examples are:

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
    The name of a locale to use for locale categories when not overridden by LC_ALL or more specific environment variables such as LC_COLLATE, LC_CTYPE, LC_MESSAGES, LC_MONETARY, LC_NUMERIC, and LC_TIME (see locale(7) for further details of the LC_* environment variables).

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
    The pathname of the user's login shell.

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.

Names may be placed in the shell's environment by the export command in sh(1), or by the setenv command if you use csh(1).

The initial environment of the shell is populated in various ways, such as definitions from /etc/environment that are processed by pam_env(8) for all users at login time (on systems that employ pam(8)). In addition, various shell initialization scripts, such as the system-wide /etc/profile script and per-user initializations script may include commands that add variables to the shell's environment; see the manual page of your preferred shell for details.

Bourne-style shells support the syntax

    NOMBRE=valor comando

to create an environment variable definition only in the scope of the process that executes command. Multiple variable definitions, separated by white space, may precede command.

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(3), putenv(3), setenv(3) y unsetenv(3).

Note that the behavior of many programs and library routines is influenced by the presence or value of certain environment variables. Examples include the following:

*   The variables LANG, LANGUAGE, NLSPATH, LOCPATH, LC_ALL, LC_MESSAGES, and so on influence locale handling; see catopen(3), gettext(3), and locale(7).

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

*   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(3), localtime(3), mktime(3), strftime(3). Véase también tzselect(8).

*   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).

NOTAS
The prctl(2) PR_SET_MM_ENV_START and PR_SET_MM_ENV_END operations can be used to control the location of the process's environment.

ERRORES
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
bash(1), csh(1), env(1), login(1), printenv(1), sh(1), tcsh(1), execve(2), clearenv(3), exec(3), getenv(3), putenv(3), setenv(3), unsetenv(3), locale(7), ld.so(8), pam_env(8)

COLOFÓN
Esta página es parte de la versión 5.10 del proyecto Linux man-pages. Puede encontrar una descripción del proyecto, información sobre cómo informar errores y la última versión de esta página en https://www.kernel.org/doc/man-pages/.

TRADUCCIÓN
La traducción al español de esta página del manual fue creada por Diego Novillo <diego@cs.ualberta.ca>, Gerardo Aburruzaga García <gerardo.aburruzaga@uca.es>, Juan Piernas <piernas@ditec.um.es> y Miguel Pérez Ibars <mpi79470@alu.um.es> Esta traducción es documentación libre; lea la GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD. Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org>..