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 :

Variable non reconnu dans terminal ouvert via le code


Sujet :

Linux

  1. #1
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 22
    Points : 16
    Points
    16
    Par défaut Variable non reconnu dans terminal ouvert via le code
    Bonjour,

    Mon code ouvre un nouveau terminal dans lequel s'affiche un décompte, mais la variable $a reste vide.
    Et quand dans le nouveau terminal, j'utilise la variable $i de départ, la décrémentation ne marche pas.

    Pouvez-vous m'aider svp ?

    Merci,

    ArNo

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    #!/bin/sh
    i=5
    xterm -e "a=$i ; echo $a; 
    while [ $a -gt 0 ];  do
    echo $a
    sleep 1
     
    let $[ a -= 1 ]
    done
    echo 0
    read a
    "

  2. #2
    Membre émérite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Octobre 2008
    Messages
    1 515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 515
    Points : 2 505
    Points
    2 505
    Par défaut
    Tes $a sont interprétés par le shell avant d'être passés en argument à ta commande xterm, pusique ta commande est entre double quote. Dans l'expression qui est passé à xterm, les $a ont donc été remplacés par... rien.

    Si tu veux garder les double quotes, il faut que tu escapes les $ qui doivent être passés au xterm. Mais je te conseille plustôt d'utiliser des simple quotes. Ca donne un truc du genre (pas testé, mais ça doit pas être loin) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    #!/bin/sh
    i=5
    xterm -e 'a='$i'; echo $a; 
    while [ $a -gt 0 ];  do
    ...
    '

  3. #3
    Membre à l'essai
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2004
    Messages
    22
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2004
    Messages : 22
    Points : 16
    Points
    16
    Par défaut
    merci beaucoup ça marche maintenant !

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

Discussions similaires

  1. Variable non reconnue dans une boucle
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 03/11/2011, 10h33
  2. copie d'une variable non reconnue dans une fonction
    Par paragoge dans le forum ActionScript 3
    Réponses: 1
    Dernier message: 27/10/2009, 13h30
  3. variable non reconnue dans une requête sql
    Par sanatou dans le forum C++
    Réponses: 3
    Dernier message: 13/12/2006, 17h43
  4. Critère non reconnu dans la fonction DCount
    Par Ps4 dans le forum Access
    Réponses: 7
    Dernier message: 20/06/2005, 09h02
  5. [EJB] [JSP] Méthode EJB non reconnue dans jsp
    Par stago dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 06/07/2004, 09h52

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