setenv(3) Library Functions Manual setenv(3) NOM setenv, unsetenv - Changer ou ajouter une variable d'environnement BIBLIOTHEQUE Bibliotheque C standard (libc, -lc) SYNOPSIS #include int setenv(const char *name, const char *value, int overwrite); int unsetenv(const char *name); Exigences de macros de test de fonctionnalites pour la glibc (consulter feature_test_macros(7)) : setenv(), unsetenv() : _POSIX_C_SOURCE >= 200112L || /* glibc <= 2.19: */ _BSD_SOURCE DESCRIPTION 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 deja dans l'environnement, alors sa valeur est modifiee en value si overwrite est non nul ; si overwrite vaut zero, la valeur de name n'est pas modifiee et setenv() renvoie un code de succes. Cette fonction cree des copies des chaines pointees par name et value (contrairement a putenv(3)). La fonction unsetenv() efface la variable name de l'environnement. Si name n'existe pas dans l'environnement, la fonction reussit et l'environnement n'est pas modifie. VALEUR RENVOYEE Les fonctions setenv() et unsetenv() renvoient O si elles reussissent et -1 si elles echouent, auquel cas errno contient le code d'erreur. ERREURS EINVAL name est NULL, pointe vers une chaine de taille 0 ou contient un caractere << = >>. ENOMEM Pas assez de memoire pour ajouter une nouvelle variable a l'environnement. ATTRIBUTS Pour une explication des termes utilises dans cette section, consulter attributes(7). +---------------------+--------------------------+---------------------+ |Interface | Attribut | Valeur | +---------------------+--------------------------+---------------------+ |setenv(), unsetenv() | Securite des threads | MT-Unsafe const:env | +---------------------+--------------------------+---------------------+ STANDARDS POSIX.1-2008. HISTORIQUE POSIX.1-2001, 4.3BSD. Avant la glibc 2.2.2, unsetenv() etait prototypee pour renvoyer void ; les versions de la glibc plus recentes suivent le prototype conforme a POSIX.1 comme montre dans le SYNOPSIS. AVERTISSEMENTS POSIX.1 n'impose pas que setenv() ou unsetenv() soient reentrantes. BOGUES POSIX.1 indique que si name contient un caractere << = >>, alors setenv() devrait echouer avec l'erreur EINVAL ; toutefois, les versions anterieures a la glibc 2.3.4 autorisaient l'utilisation du caractere << = >> dans name. VOIR AUSSI clearenv(3), getenv(3), putenv(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 setenv(3)