putenv(3) Library Functions Manual putenv(3) NOM putenv - Ajouter ou modifier une variable d'environnement BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include int putenv(char *string); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : putenv() : _XOPEN_SOURCE || /* glibc >= 2.19 : */ _DEFAULT_SOURCE || /* glibc <= 2.19 : */ _SVID_SOURCE DESCRIPTION La fonction putenv() ajoute ou modifie la valeur d'une variable d'environnement. L'argument string est une chaine de caracteres de la forme nom=valeur. Si nom n'existe pas dans l'environnement, string est ajoutee. Si nom existe, alors la valeur de de nom est remplacee par valeur. La chaine pointee par string devient partie integrante de l'environnement, ainsi une modification de cette chaine change l'environnement. VALEUR RENVOYEE La fonction putenv() renvoie 0 si elle reussit. En cas d'erreur, une valeur non nulle est renvoyee et errno contient le code d'erreur. ERREURS ENOMEM Pas assez de memoire. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------+--------------------------+---------------------+ |Interface | Attribut | Valeur | +---------------------+--------------------------+---------------------+ |putenv() | Securite des threads | MT-Unsafe const:env | +---------------------+--------------------------+---------------------+ STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001, SVr2, 4.3BSD-Reno. La fonction putenv() n'a pas besoin d'etre reentrante, celle de la glibc 2.0 ne l'est pas, contrairement a celle de la glibc 2.1. Since glibc 2.1.2, the glibc implementation conforms to SUSv2: the pointer string given to putenv() is used. In particular, this string becomes part of the environment; changing it later will change the environment. (Thus, it is an error to call putenv() with an automatic variable as the argument, then return from the calling function while string is still part of the environment.) However, from glibc 2.0 to glibc 2.1.1, it differs: a copy of the string is used. On the one hand this causes a memory leak, and on the other hand it violates SUSv2. The 4.3BSD-Reno version, like glibc 2.0, uses a copy; this is fixed in all modern BSDs. Dans les specifications SUSv2, le const a ete supprime du prototype. C'est aussi le cas dans glibc 2.1.3. L'implementation de la bibliotheque C GNU fournit une extension non standard. Si string ne comporte pas de signe egal : putenv("NAME"); alors la variable nommee est supprimee de l'environnement de l'appelant. VOIR AUSSI clearenv(3), getenv(3), setenv(3), unsetenv(3), environ(7) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Gregoire Scano Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 putenv(3)