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 :

Shell su commande et variable


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4
    Par défaut Shell su commande et variable
    Bonsoir,


    Est-ce que quelqu'un saurait comment on fait pour insérer une Variable dans une commande su ?

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MYPATH=/mypath
     
    su -l user -c '$MYPATH lerestedemacommande'
    En fait la variable $MYPATH est remplacée par une chaine vide car on change d'utilisateur avec su.

    Donc le seul moyen que je vois pour utiliser une variable c'est de faire comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    su -l user -c 'export MYPATH=/mypath ; $MYPATH lerestedemacommande'
    En fait ce que je cherche à faire, c'est éviter de réécrire la même chaîne dans un script quand on appelle plusieurs fois su -c

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 651
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 651
    Par défaut
    Bonjour,

    -m, -p, --preserve-environment
    Préserver l'environnement actuel, sauf pour :
    [...]
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Décembre 2012
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4
    Par défaut
    Ah oui mais es-ce que ça fonctionne avec un script "init.d" ?

  4. #4
    Expert confirmé
    Homme Profil pro
    Développeur informatique en retraite
    Inscrit en
    Avril 2008
    Messages
    2 102
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côtes d'Armor (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique en retraite

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 102
    Par défaut
    Citation Envoyé par marc11 Voir le message
    Bonsoir,


    Es-ce que quelqu'un serait comment on fait pour insérer une Variable dans une commande su ?

    Exemple:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MYPATH=/mypath
     
    su -l user -c '$MYPATH lerestedemacommande'
    En fait la variable $MYPATH est remplacé par une chaine vide car on change d'utilisateur avec su.
    Effectivement, tu demandes au shell lancé par su de faire l'expansion de la variable qui est donc vide.
    Mais si tu demandes au shell courant de faire l'expansion, le résultat est tout autre. Pour cela, il suffit de remplacer les simples quotes par des doubles:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    MYPATH=/mypath
     
    su -l user -c "$MYPATH lerestedemacommande"

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

Discussions similaires

  1. [Shell] Tester si une variable existe ou est vide
    Par Toutankharton dans le forum Linux
    Réponses: 6
    Dernier message: 25/01/2008, 10h56
  2. [Shell] Path tronqué dans variable
    Par bakka dans le forum Linux
    Réponses: 1
    Dernier message: 23/01/2008, 17h06
  3. Script shell : fichier crlf dans variable
    Par Débéa dans le forum Linux
    Réponses: 4
    Dernier message: 02/07/2007, 09h56
  4. shell script: placer une variable dans le clavier
    Par kaukos dans le forum Linux
    Réponses: 6
    Dernier message: 30/06/2007, 07h42
  5. Script shell pour persister les variables exportées
    Par Giovanny Temgoua dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 03/10/2006, 09h07

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