setenv, unsetenv - Changer ou ajouter une variable d'environnement
Bibliothèque C standard (
libc,
-lc)
#include <stdlib.h>
int setenv(const char *name, const char *value, int overwrite);
int unsetenv(const char *name);
setenv(),
unsetenv() :
_POSIX_C_SOURCE >= 200112L
|| /* glibc <= 2.19: */ _BSD_SOURCE
La fonction
setenv() ajoute la variable
name dans l'environnement
en lui attribuant la valeur
value si
name n'existe pas encore.
Si
name existe déjà dans l'environnement, alors sa valeur
est modifiée en
value si
overwrite est non nul ;
si
overwrite vaut zéro, la valeur de
name n'est pas
modifiée et
setenv() renvoie un code de succès. Cette
fonction crée des copies des chaînes pointées par
name et
value (contrairement à
putenv(3)).
La fonction
unsetenv() efface la variable
name de l'environnement.
Si
name n'existe pas dans l'environnement, la fonction réussit
et l'environnement n'est pas modifié.
Les fonctions
setenv() et
unsetenv() renvoient
O si elles
réussissent et
-1 si elles échouent, auquel cas
errno contient le code d'erreur.
- EINVAL
-
name is NULL, points to a string of length 0, or
contains an '=' character.
- ENOMEM
- Pas assez de mémoire pour ajouter une nouvelle
variable à l'environnement.
Pour une explication des termes utilisés dans cette section, consulter
attributes(7).
Interface |
Attribut |
Valeur |
setenv(), unsetenv() |
Sécurité des threads |
MT-Unsafe const:env |
POSIX.1-2001, POSIX.1-2008, 4.3BSD.
POSIX.1 n'impose pas que
setenv() ou
unsetenv() soient
réentrantes.
Avant la glibc 2.2.2,
unsetenv() était prototypée
pour renvoyer
void ; les versions de la glibc plus
récentes suivent le prototype conforme à POSIX.1 comme
montré dans le SYNOPSIS.
POSIX.1 specifies that if
name contains an '=' character, then
setenv() should fail with the error
EINVAL; however, versions of
glibc before glibc 2.3.4 allowed an '=' sign in
name.
clearenv(3),
getenv(3),
putenv(3),
environ(7)
La traduction française de cette page de manuel a été
créée par Christophe Blaess
<
https://www.blaess.fr/christophe/>, Stéphan Rafin
<
[email protected]>, Thierry Vignaud
<
[email protected]>, François Micaux, Alain Portal
<
[email protected]>, Jean-Philippe Guérard
<
[email protected]>, Jean-Luc Coulon (f5ibh)
<
[email protected]>, Julien Cristau
<
[email protected]>, Thomas Huriaux <
[email protected]>,
Nicolas François <
[email protected]>, Florentin
Duneau <
[email protected]>, Simon Paillard
<
[email protected]>, Denis Barbier
<
[email protected]>, David Prévot <
[email protected]> et
Grégoire Scano <
[email protected]>
Cette traduction est une documentation libre ; veuillez vous reporter
à la
GNU
General Public License version 3 concernant les conditions de copie
et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.
Si vous découvrez un bogue dans la traduction de cette page de manuel,
veuillez envoyer un message à
[email protected]