File: environ.5

package info (click to toggle)
manpages-es 1.55-9
  • links: PTS
  • area: main
  • in suites: squeeze
  • size: 7,468 kB
  • ctags: 6
  • sloc: sh: 1,629; makefile: 64
file content (242 lines) | stat: -rw-r--r-- 7,847 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
.\" Copyright (c) 1993 Michael Haardt (michael@moria.de),
.\"   Fri Apr  2 11:32:09 MET DST 1993
.\" and Andries Brouwer (aeb@cwi.nl), Fri Feb 14 21:47:50 1997.
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
.\" USA.
.\" 
.\" Modified Sun Jul 25 10:45:30 1993 by Rik Faith (faith@cs.unc.edu)
.\" Modified Sun Jul 21 21:25:26 1996 by Andries Brouwer (aeb@cwi.nl)
.\" Modified Mon Oct 21 17:47:19 1996 by Eric S. Raymond (esr@thyrsus.com)
.\" Modified Wed Aug 27 20:28:58 1997 by Nicolás Lichtmaier (nick@debian.org)
.\" Modified Mon Sep 21 00:00:26 1998 by Andries Brouwer (aeb@cwi.nl)
.\" Modified Wed Jan 24 06:37:24 2001 by Eric S. Raymond (esr@thyrsus.com)
.\" Modified Thu Dec 13 23:53:27 2001 by Martin Schulze <joey@infodrom.org>

.\" Translated Mon Jun 24 12:55:40 1996 by Diego Novillo (diego@cs.ualberta.ca)
.\" Translation revised Fri Apr 3 1998 by Juan Piernas <piernas@dif.um.es>
.\" Translation fixed on Mon Apr 27 18:22:37 CEST 1998 by Gerardo
.\" Aburruzaga García <gerardo.aburruzaga@uca.es>
.\" Translation revised Wed Dec 30 1998 by Juan Piernas <piernas@ditec.um.es>
.\" Translation revised Sun Apr  4 1999 by Juan Piernas <piernas@ditec.um.es>
.\" Traducción revisada por Miguel Pérez Ibars <mpi79470@alu.um.es> el 30-noviembre-2004
.\"
.TH ENVIRON 5 "14 diciembre 2001" "Linux" "Manual del Programador Linux"
.SH NOMBRE
environ \- entorno del usuario
.SH SINOPSIS
.ad l
.nf
.B extern char **environ;
.br
.fi
.ad b
.SH DESCRIPCIÓN
La variable
.I 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
.I 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
.BR _GNU_SOURCE .)
Cuando un proceso comienza, 
.BR exec (3) 
le proporciona este vector de
cadenas.  Por convenio, estas cadenas son de la forma
`\fInombre\fP\fB=\fP\fIvalor\fP'.  Algunos ejemplos comunes son:
.TP
.B USER
El nombre del usuario que ha entrado en el sistema (usado por algunos
programas derivados de BSD).
.TP
.B LOGNAME
El nombre del usuario que ha entrado en el sistema (usado por algunos
programas derivados de System-V).
.TP
.B HOME
El directorio de entrada del usuario, puesto por 
.BR login (1)
a partir del fichero de cuentas 
.BR passwd (5).
.TP
.B LANG
El nombre de una localización para su empleo como categoría de
localizaciones cuando no se suministra la variable de ambiente
\fBLC_ALL\fP o alguna otra más específica como
\fBLC_COLLATE\fP, \fBLC_CTYPE\fP, \fBLC_MESSAGES\fP, \fBLC_MONETARY\fP,
\fBLC_NUMERIC\fP, \fBLC_TIME\fP, cf.
.BR locale (5).
.TP
.B PATH
Lista de nombres de directorios que \fBsh\fP(1) y muchos otros programas
emplean cuando buscan un fichero cuyo nombre de camino es incompleto.  Los
nombres se separaran por `\fB:\fP'.
(De forma análoga tenemos \fBCDPATH\fP que utilizan algunas shells
para buscar el argumento de una orden de cambio de directorio de
trabajo, \fBMANPATH\fP empleado por \fBman\fP(1) para buscar páginas
del Manual, etc.)
.TP
.B PWD
El directorio de trabajo en curso. Puesto por varias shells.
.TP
.B SHELL
El nombre del intérprete de órdenes usado por el usuario cuando entra
en su cuenta.
.TP
.B TERM
El tipo de terminal para la cual se va a formatear la salida.
.TP
.B PAGER
La utilidad preferida por el usuario para mostrar el contenido de
ficheros de texto.
.TP
.BR EDITOR / VISUAL
La utilidad preferida por el usuario para editar ficheros de texto.
.TP
.B 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/ .
.PP
Se pueden poner otros nombres en el entorno mediante la orden \fBexport\fP
y `nombre=valor' en 
.BR sh (1), 
o mediante la orden \fBsetenv\fP en
.BR csh (1).  
También se pueden poner argumentos en el entorno cuando se
llama a 
.BR exec (2).  
Un programa en C puede manipular su entorno
mediante las funciones 
.BR getenv(), 
.BR putenv(), 
.BR setenv()
y 
.BR 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:
.LP
Las variables
.BR LANG ", " LANGUAGE ", " NLSPATH ", " LOCPATH ", " LC_ALL ", " LC_MESSAGES ", "
 etc., tienen influencia en el manejo de localizaciones, cf.
 .BR locale (5).
.LP
.B TMPDIR
tiene influencia sobre el prefijo de nombres de ficheros creados por
\fBtempnam\fP() y otras rutinas, el directorio temporal utilizado por
\fBsort\fP(1) y otros programas, etc.
.LP
.BR LD_LIBRARY_PATH ", " LD_PRELOAD
y otras variables que comienzan por LD_ tienen influencia sobre el
comportamiento del enlazador/cargador dinámico.
.LP
.B POSIXLY_CORRECT
hace que ciertos programas y funciones de biblioteca sigan las
prescripciones de POSIX.
.LP
El comportamiento de \fBmalloc\fP(3) viene determinado por variables
cuyos nombres comienzan por MALLOC_.
.LP
La variable
.B HOSTALIASES
da el nombre de un fichero que contiene alias que utilizará la función
\fBgethostbyname\fP(3).
.LP
.BR TZ " y " TZDIR
proporcionan información sobre el huso horario
que es usada por
.BR tzset (3)
y por funciones como
.IR ctime (),
.IR localtime (),
.IR mktime (),
.IR strftime ().
Véase también
.BR tzselect (1).
.LP
.B TERMCAP
da información sobre cómo manejar una terminal dada (o da el nombre de
un fichero que contiene esa información).
.LP
.BR COLUMNS " y " LINES
informan a las aplicaciones sobre el tamaño de la ventana, sobreescribiendo
posiblemente el tamaño real.
.LP
.BR PRINTER " o " LPDEST
pueden especificar la impresora que se desea usar. Vea
.BR lpr (1).
.LP
Etc.
.SH 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
.BR IFS " o " LD_LIBRARY_PATH.

También hay riesgo de contaminación del espacio de nombres.
Programas como
.I make
y
.I 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
.B CC
para seleccionar el compilador de C deseado (y similarmente)
.BR MAKE ,
.BR AR ,
.BR AS ,
.BR FC ,
.BR LD ,
.BR LEX ,
.BR RM ,
.BR 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
.BR MORE ,
.BR LESS ,
y
.BR GZIP .
Tal uso es considerado erróneo y se aconseja evitarlo en
programas nuevos. Los autores de
.I gzip
deberían considerar renombrar sus opciones a
.BR GZIP_OPT .
.SH "VÉASE TAMBIÉN"
.BR login (1),
.BR sh (1),
.BR bash (1),
.BR csh (1),
.BR tcsh (1),
.BR execve (2),
.BR exec (3),
.BR getenv (3),
.BR putenv (3),
.BR setenv (3),
.BR clearenv (3),
.BR unsetenv (3),
.BR locale (5)