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

Administration système Discussion :

modification de variable d'environnement (PS1)


Sujet :

Administration système

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de trax44
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 300
    Par défaut modification de variable d'environnement (PS1)
    Bonsoir,

    je voudrais modifier la variable PS1 du shell courant depuis un programme lancé dans ce shell

    En quelques sorte :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    trax@localhost ~/ $ ./main
    plop@toto ~/ $
    Je sais ce qu'il faut mettre dans PS1. Toute mes tentative on modifié l'environnement de main et non du shell courant :s

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    system("export PS1="...");
    putenv("PS1=...");
    ...

  2. #2
    Membre confirmé
    Inscrit en
    Novembre 2006
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Novembre 2006
    Messages : 80
    Par défaut
    En fait, je connais pas la nature de ton prog, mais si tu as la possibilité d'ecrire dans l'environnement de l'utilisateur tu peux ajouter ta variable d'environnement dans le fichier .bash_profile (ou bien celui du shell utilisé) et executer ce fichier à partir de ton programme, là cette variable sera reconnu dans tous les shells de l'utilisateur en question.
    Ce que je t'ai proposé n'est qu'une alternative pour contourner ton prob, mais si tu peux expliquer bien le but de ton programme ça serai mieux ...
    Bonne chance

  3. #3
    Membre éclairé Avatar de trax44
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    300
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 300
    Par défaut
    pour l'instant je peux écrire dans l'environnement de mon programme, qui n'est pas celui du shell.
    La solution d'append une ligne avec PS1="blabla" dans mon bash provoquerais l'application de ce changement a tout les nouveau shell, alors que je ne veux modifier que le shell dans lequel est lancé mon programme

  4. #4
    Membre émérite
    Avatar de Celelibi
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    1 087
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 087
    Par défaut
    C'est simple, tu ne peux pas.

    Un programme ne peut que modifier son propre environnement. Et par conséquent celui de ses processus fils car ils héritent de l'environnement du père.

    À la limite tu peux relancer un shell après avoir changé la variable PS1.
    Ou bien simplement écrire dans un fichier et l'appeller dans ton shell par .

    Mais c'est vrai qu'un peu plus d'explications sur le but recherché ne serait pas de refus.

Discussions similaires

  1. [InnoSetup]Modification variable d'environnement
    Par Franck.H dans le forum Autres éditeurs
    Réponses: 0
    Dernier message: 30/06/2013, 19h34
  2. Empêcher une modification de variable d'environnement avec CommonDialog
    Par megamario dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 18/11/2010, 08h50
  3. modification au niveau de la variable d'environnement
    Par new_wave dans le forum Débuter avec Java
    Réponses: 3
    Dernier message: 17/04/2008, 12h18
  4. Réponses: 2
    Dernier message: 29/08/2005, 16h35
  5. Réponses: 4
    Dernier message: 18/07/2002, 13h32

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