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

Shell et commandes GNU Discussion :

Perte des variables d'environnement en su -c


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Par défaut Perte des variables d'environnement en su -c
    Bonjour

    Ce code-ci fonctionne bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [scoop@eat03 ~]$ su - tstgsmcs9
    Password:
    [tstgsmcs9@eat03 ~]$ echo $SQLPLUS
    sqlplus -s xxx/xxx@yyyy
    Par contre si je fais le meme en ligne de commande je n'ai plus mes variables d'environnement et je ne comprends pas pourquoi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [scoop@eat03 ~]$ su - tstgsmcs9 -c "echo $SQLPLUS"
    Password:
     
    [scoop@eat03 ~]$
    meme en forcant le bash_profile dans lequel est défini ma variable ca ne fonctonne pas

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    [scoop@eat03 ~]$ su - tstgsmcs9 -c ". ./.bash_profile; echo $SQLPLUS"
    Password:
     
    [scoop@eat03 ~]$
    (ce n'est pas lié à cette variable, aucune n'est définie).

    Quelle est l'explication à cela ?

    Merci

  2. #2
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    su - tstgsmcs9 -c ". ~scoop/.bash_profile; echo $SQLPLUS"
    ?

  3. #3
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 346
    Par défaut
    Bonjour,
    Je verrais plutot ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    su - tstgsmcs9 -c ". ~tstgsmcs9/.bash_profile; echo $SQLPLUS"
    Car, à priori, il veut charger l'env de tstgsmcs9 mais l'option -c de su ne lance pas de shell interactif, donc je suppose que le "-" ou "-l" est, en fait, "shunté" par le -c .

  4. #4
    Modérateur
    Avatar de jlliagre
    Homme Profil pro
    Ingénieur support avancé & développement
    Inscrit en
    Juin 2007
    Messages
    2 695
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur support avancé & développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 695
    Par défaut
    Après réflexion:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    su - tstgsmcs9 -c 'echo $SQLPLUS'

  5. #5
    Membre éprouvé
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Décembre 2013
    Messages
    70
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Analyste d'exploitation

    Informations forums :
    Inscription : Décembre 2013
    Messages : 70
    Par défaut
    Salut,

    Je pense que c'est lié au fait qu'en faisant su - tstgsmcs9 -c ". ./.bash_profile; echo $SQLPLUS", la variable SQLPLUS est remplacée par "rien" vu qu'elle n'est pas connue de l'environnement de scoop, du coup, la commande exécutée est un echo sans argument.

    Il faudrait peut-être essayer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    su - tstgsmcs9 -c '. ~tstgsmcs9/.bash_profile; echo $SQLPLUS'
    Edit : grillé par jlliagre !

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    344
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 344
    Par défaut
    Merci à tous pour vos réponses.

    And the winner is ... Jillagre. Il fallait en effet des simples cotes et non pas des guillemets (du coup la chaine était interprétée de suite au lieu de dans le sous-shell).

  7. #7
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 346
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 346
    Par défaut
    Ahhhhh!!!!, honte sur moi, j'ai pas vu ça
    Bon, faut vraiment que les vacances arrivent

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Perte des variables de sessions
    Par Dayom dans le forum Langage
    Réponses: 12
    Dernier message: 17/07/2006, 11h04
  2. [VB] Comment creer des variables d'environnement
    Par keveen dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 16/03/2006, 11h13
  3. [Tomcat 5] automatisation des variables d'environnement
    Par blacksheep dans le forum Tomcat et TomEE
    Réponses: 1
    Dernier message: 08/09/2005, 13h58
  4. Utiliser des variables d'environnements
    Par Xam335 dans le forum C++Builder
    Réponses: 2
    Dernier message: 14/08/2004, 14h15
  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