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 :

Exécution d'une variable contenant une commande


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Femme Profil pro
    Ingénieur intégration
    Inscrit en
    Mars 2019
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2019
    Messages : 8
    Par défaut Exécution d'une variable contenant une commande
    Bonjour

    suite à cette discussion,
    ma variable toto contient une ligne de commande
    Il faut que je vienne ecrire le contenu de ma variable dans le shell et idealement il faudrait faire ENTER pour excecuter la commande
    Comment faire?

    Merci de votre aide

    Valentine

  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,

    Il faut que je vienne ecrire le contenu de ma variable dans le shell
    pourquoi ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    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 347
    Par défaut
    Perso, je n'ai même pas compris le besoin...

  4. #4
    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 modération
    cette discussion fait suite à une précédente, que j'ai mise en lien dans le premier message de Valentine31.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 287
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 287
    Par défaut
    Bonjour

    Si c'est une question de suivi ou de débogage, il est sans doute préférable d'utiliser set -x.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    set -x
    ./ma.commande.bash $mavaleur
    set +x

  6. #6
    Membre émérite Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 348
    Par défaut
    Citation Envoyé par Valentine31 Voir le message
    ma variable toto contient une ligne de commande
    Il faudrait voir un peu à quoi ressemble cette ligne de commande, car :
    • si c'est un cas simple, pour exécuter la commande, il suffit d'écrire $toto (sans guillemets pour une fois) ;
    • si ça n'est pas un cas simple, il faudrait changer toto en un tableau, ou en une suite de variables si tu ne peux pas utiliser de tableaux, et donc voir en amont comment les renseigner correctement, pour échapper au final à un eval "$toto".

    Citation Envoyé par Valentine31 Voir le message
    Il faut que je vienne ecrire le contenu de ma variable dans le shell et idealement il faudrait faire ENTER pour excecuter la commande
    Pour écrire le contenu de la variable dans le shell, c'est echo "$toto".
    Pour interroger l'utilisateur avant exécution, c'est read -p 'message'

  7. #7
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 347
    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 347
    Par défaut
    Citation Envoyé par balkany Voir le message
    Pour interroger l'utilisateur avant exécution, c'est read -p 'message'
    Perso, je n'aime pas l'option -p de read car celle-ci est branchée sur la sortie d'erreur standard et uniquement si le script est lancé depuis un terminal.

    Et donc, derrière, ça peut être assez ch.... à robotiser si besoin.

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 08/01/2013, 14h16
  2. Réponses: 3
    Dernier message: 10/09/2009, 11h08
  3. Réponses: 6
    Dernier message: 23/07/2007, 21h56
  4. [Système] Pb exécution d'une commande externe
    Par licorne dans le forum Langage
    Réponses: 9
    Dernier message: 19/10/2005, 16h34

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