Provided by: manpages-fr-dev_4.13-4_all bug

NOM

       setenv, unsetenv - Changer ou ajouter une variable d'environnement

SYNOPSIS

       #include <stdlib.h>

       int setenv(const char *name, const char *value, int overwrite);

       int unsetenv(const char *name);

   Exigences    de    macros    de   test   de   fonctionnalités   pour   la   glibc   (consulter
   feature_test_macros(7)) :

       setenv(), unsetenv() :
           _POSIX_C_SOURCE >= 200112L
               || /* Versions de la 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 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é.

VALEUR RENVOYÉE

       Les  fonctions  setenv()  et  unsetenv()  renvoient  O si elles réussissent et -1 si elles
       échouent, auquel cas errno contient le code d'erreur.

ERREURS

       EINVAL name est NULL, pointe vers une chaîne de taille  nulle  ou  contient  un  caractère
              « = ».

       ENOMEM Pas assez de mémoire pour ajouter une nouvelle variable à l'environnement.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌─────────────────────┬──────────────────────┬─────────────────────┐
       │InterfaceAttributValeur              │
       ├─────────────────────┼──────────────────────┼─────────────────────┤
       │setenv(), unsetenv() │ Sécurité des threads │ MT-Unsafe const:env │
       └─────────────────────┴──────────────────────┴─────────────────────┘

CONFORMITÉ

       POSIX.1-2001, POSIX.1-2008, 4.3BSD.

NOTES

       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.

BOGUES

       POSIX.1 indique que si name contient un caractère « = », alors  setenv()  devrait  échouer
       avec  l'erreur  EINVAL ; toutefois, les versions antérieures à la glibc 2.3.4 autorisaient
       l'utilisation du caractère « = » dans name.

VOIR AUSSI

       clearenv(3), getenv(3), putenv(3), environ(7)

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier   <barbier@debian.org>,   David   Prévot  <david@tilapin.org>  et  Grégoire  Scano
       <gregoire.scano@malloc.fr>

       Cette traduction est une documentation libre ; veuillez vous reporter  à  la  GNU  General
       Public   License   version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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 à debian-l10n-french@lists.debian.org ⟨⟩.