Loading

NOM

       setenv, unsetenv - Change ou ajoute 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 (voir
   feature_test_macros(7)) :

       setenv(), unsetenv() : _BSD_SOURCE || _POSIX_C_SOURCE >= 200112L ||
       _XOPEN_SOURCE >= 600

       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. 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

       La fonction setenv() renvoie zéro  si  elle  réussit,  et  -1  si  elle
       échoue, auquel cas errno contient le code de l’erreur.

       La  fonction  unsetenv()  renvoie  zéro  si elle réussit, et -1 si elle
       échoue, auquel cas errno contient le code de l’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.

CONFORMITÉ

       BSD 4.3, POSIX.1-2001.

NOTES

       POSIX.1-2001  n’impose  pas   que   setenv()   et   unsetenv()   soient
       réentrantes.

       Avant  la glibc 2.2.2, unsetenv() était prototypée pour retourner void;
       les versions de la glibc plus récentes suivent le prototype conforme  à
       POSIX.1-2001 comme montré dans le SYNOPSIS.

BOGUES

       POSIX.1-2001  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  3.23  du  projet  man-pages
       Linux.  Une description du projet et des instructions pour signaler des
       anomalies      peuvent      être       trouvées       à       l’adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION

       Cette  page  de  manuel  a  été  traduite et mise à jour par Christophe
       Blaess <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis  par
       Alain  Portal  <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et mise à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>   et   l’équipe    francophone    de
       traduction de Debian.

       Veuillez   signaler   toute   erreur   de   traduction  en  écrivant  à
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous  pouvez  toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».