IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Linux Discussion :

Variable d'environnement global sous linux


Sujet :

Linux

  1. #1
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut Variable d'environnement global sous linux
    Boujours,

    Je suis devant un problème de variable d'environnement. La librairie stdlib.h fournit deux fonction pour ecrire des nouvelles variables (setenv et putenv) mais elle n'existe uniquement pour le programme qui la crée....

    Mon but étant de créer une nouvelle variable qui soit imédiatement disponible pour d'autre programme.

    Pour info, ce programme est detiné au utilisateurs de ubuntu et de ces dérivés dans mon école. Il permèteras de configurer automatiquement le serveur proxy en modifiant la variable HTTP_PROXY et le fichier apt.conf.

    Merci de votre aide.

  2. #2
    Expert éminent sénior
    Avatar de Skyounet
    Homme Profil pro
    Software Engineer
    Inscrit en
    Mars 2005
    Messages
    6 380
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Software Engineer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 6 380
    Points : 13 380
    Points
    13 380
    Par défaut
    Quelle est la commande UNIX pour faire ce que tu veux faire ?

    Tu pourrais utiliser cette commande avec la fonction system.
    Introduction à Silverlight 4 (new) ; Localisation d'une application Silverlight (new) ;
    Mon espace perso[/B]

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. Albert Einstein[/SIZE]

  3. #3
    Rédacteur
    Avatar de Vincent Rogier
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 373
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 373
    Points : 5 307
    Points
    5 307
    Par défaut
    system("export MYVAR=QUELQUECHOSE");

    par exemple...
    Vincent Rogier.

    Rubrique ORACLE : Accueil - Forum - Tutoriels - FAQ - Livres - Blog

    Vous voulez contribuer à la rubrique Oracle ? Contactez la rubrique !

    OCILIB (C Driver for Oracle)

    Librairie C Open Source multi-plateformes pour accéder et manipuler des bases de données Oracle

  4. #4
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    C'est pire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    system("export HTTP_PROXY=test");
    system("echo $HTTP_PROXY");
    renvoie rien ! (ligne vide)

    Merci quand même.

  5. #5
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Il n'est pas possible à ma connaissance (du moins par des voies qui ne relève pas de modification directe du code en mémoire vive) de modifier l'environnement à un niveau supérieur à soi-même. Il faut modifier les fichiers de configs, qui sont exécutés au lancement de l'ordinateur ou à la connexion d'un utilisateur (.bashrc par exemple) et réexécuter cette opération.

    --
    Jedaï

  6. #6
    Expert éminent
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Points : 8 586
    Points
    8 586
    Par défaut
    Citation Envoyé par eleon_ Voir le message
    C'est pire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    system("export HTTP_PROXY=test");
    system("echo $HTTP_PROXY");
    renvoie rien ! (ligne vide)

    Merci quand même.
    C'est normal : avec system() tu crée un nouveau processus dans lequel export modifie la variable d'environnement HTTP_PROXY mais uniquement dans l'environnement de ce processus, qui n'a rien à voir avec celui du system() suivant (qui recrée lui-même un nouveau processus avec son propre environnement copié du processus parent).
    Pour vérifier ceci, fait simplement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    system("export HTTP_PROXY=test; echo $HTTP_PROXY");
    Il est possible que ça ne fonctionne pas et qu'il faille faire appel directement au shell toutefois (Perl le fait par défaut, mais je ne suis pas sûr du tout que ce soit le cas en C).

    --
    Jedaï

  7. #7
    Futur Membre du Club
    Profil pro
    Étudiant
    Inscrit en
    Octobre 2007
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2007
    Messages : 9
    Points : 6
    Points
    6
    Par défaut
    ok, maintenant l'echo marche. J'ai fait un test avec un getenv derrière, et effectivement j'ai la valeur null qui est retournée.

    Je vais donc devoir trouver une autre solution comme modifier directement le fichier de config de firefox et de konqueror mais c'est un autre sujet...

Discussions similaires

  1. Configuration variable d'environnement java sur Linux(cent os)
    Par iaiiai dans le forum RedHat / CentOS / Fedora
    Réponses: 1
    Dernier message: 17/02/2014, 17h06
  2. [EasyPHP] Variable d'environnement PHP sous EasyPHP 12.1 (pour ligne de commande)
    Par Link45 dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 3
    Dernier message: 10/09/2012, 18h19
  3. [Code::Blocks] Configuration des variables globales pour sous Linux
    Par Kaluza dans le forum EDI
    Réponses: 0
    Dernier message: 11/03/2011, 00h35
  4. Réponses: 2
    Dernier message: 09/03/2007, 08h47

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo