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 :

Exécuter un variable (!)


Sujet :

Linux

  1. #1
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut Exécuter un variable (!)
    bonjour.

    Je suis sûr que la réponse est toute bête, mais je bloque bêtement.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    etienne@portier-eu:/etc/cron.d$ command="dpkg --get-selections > /tmp/pkg140905 2>&1"
    etienne@portier-eu:/etc/cron.d$ echo $command
    dpkg --get-selections > /tmp/pkg140905 2>&1
    etienne@portier-eu:/etc/cron.d$ $command
    Aucun paquet ne correspond à >.
    Aucun paquet ne correspond à /tmp/pkg140905.
    Aucun paquet ne correspond à 2>&1.
    Voici mon problème : je remplis un variable avec une commande, mais mon problème est que cette commande est très mal interprétée par le shell. Je n'arrive pas à comprendre la source du problème.

    Merci d'avance.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  2. #2
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 129
    Points : 128
    Points
    128
    Par défaut
    Bonjour,

    Je ne comprends pas exactement pourquoi, mais apparemment il faut séparer les différents éléments de ta commande :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    bidule@trucmuche$  commande="dpkg"
    bidule@trucmuche$  arguments="--get-selections"
    bidule@trucmuche$  redirection="/tmp/pkg140905 2>&1"
    bidule@trucmuche$  $commande $arguments > $redirection
    bidule@trucmuche$  cat /tmp/pkg140905
    a2ps                                            install
    aalib1                                          install
    abs-guide                                       install
    (etc. la suite est assez longue)

  3. #3
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    Citation Envoyé par Rhineauféros
    Bonjour,

    Je ne comprends pas exactement pourquoi, mais apparemment il faut séparer les différents éléments de ta commande :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    bidule@trucmuche$  commande="dpkg"
    [...]
    (etc. la suite est assez longue)
    merci, mais ça ne me sauve pas : je veux une variable qui contient la dernière commande que j'ai tapée.
    J'ai essayé avec history, avec !!, mais ça ne fonctionne pas dans un script.

    Je veux stocker ma commande pour la gestion des erreurs...

    Je pense que je vais me rabattre sur une solution plus simple à base de
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {
    bloc de code
    } | tee
    dommage
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  4. #4
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    on peut résumer le problème à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    etienne@info1:~ $ cmd="ls > bla"
    etienne@info1:~ $ $cmd
    ls: >: Aucun fichier ou répertoire de ce type
    bla
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

  5. #5
    Expert confirmé
    Avatar de GLDavid
    Homme Profil pro
    Service Delivery Manager
    Inscrit en
    Janvier 2003
    Messages
    2 851
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Service Delivery Manager
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 851
    Points : 4 743
    Points
    4 743
    Par défaut
    Et en faisant comme ça ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    david@Nostromo:~$ export cmd="ls"
    david@Nostromo:~$ $cmd
    Desktop    IP150                               Sequest        Xcalibur
    Documents  j2eesdk-1_4_02_2005Q2-linux-ml.bin  SUNWappserver
    Ca marche chez moi. Après il te suffit de virer ta variable cmd.

    @++
    GLDavid
    Consultez la FAQ Perl ainsi que mes cours de Perl.
    N'oubliez pas les balises code ni le tag

    Je ne répond à aucune question technique par MP.

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 129
    Points : 128
    Points
    128
    Par défaut
    @GLDavid >>> Ce sont les redirections qui ne passent pas.

  7. #7
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Citation Envoyé par ggnore
    on peut résumer le problème à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    etienne@info1:~ $ cmd="ls > bla"
    etienne@info1:~ $ $cmd
    ls: >: Aucun fichier ou répertoire de ce type
    bla
    Alors on peut le régler comme ça ::
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    etienne@info1:~ $ cmd='ls > bla'
    etienne@info1:~ $ eval $cmd
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 129
    Points : 128
    Points
    128
    Par défaut

  9. #9
    Modérateur
    Avatar de ggnore
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 472
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    Points : 4 029
    Points
    4 029
    Par défaut
    merci 2eurocents... Et aux autres aussi.
    Toutes les vertus des hommes se perdent dans l’intérêt comme les fleuves se perdent dans la mer.
    N'oubliez pas de consulter les FAQ Linux et les cours et tutoriels Linux

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 18/07/2002, 14h32
  2. variables locales ou globales ???
    Par elvivo dans le forum C
    Réponses: 13
    Dernier message: 03/07/2002, 09h22
  3. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 12h08
  4. Réponses: 4
    Dernier message: 05/06/2002, 15h35
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 09h34

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