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

Vue hybride

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

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    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 éprouvé
    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
    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 : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    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 : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    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
    Membre expérimenté
    Avatar de GLDavid
    Homme Profil pro
    Head of Service Delivery
    Inscrit en
    Janvier 2003
    Messages
    2 893
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Head of Service Delivery
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 893
    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 :tagcode: ni le tag :resolu:

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

  6. #6
    Membre éprouvé
    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
    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 : 55
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    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

  8. #8
    Membre éprouvé
    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
    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 : 46
    Localisation : France

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 472
    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, 13h32
  2. variables locales ou globales ???
    Par elvivo dans le forum C
    Réponses: 13
    Dernier message: 03/07/2002, 08h22
  3. Procédure avec un nombre variable d'arguments
    Par charly dans le forum Langage
    Réponses: 15
    Dernier message: 21/06/2002, 11h08
  4. Réponses: 4
    Dernier message: 05/06/2002, 14h35
  5. les variables globales static
    Par gRRosminet dans le forum C
    Réponses: 8
    Dernier message: 27/04/2002, 08h34

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