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 :

problème avec echo -n et read


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 81
    Par défaut problème avec echo -n et read
    Bonjour tout le monde,

    Voila c'est un peu difficile à expliquer mon problème, donc pour cela je vais vous mettre mon script et tenter de vous expliquer ensuite.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
     
    tar tvf ../PACKAGE/archive.tar>../tmp/fic3
    cat ../tmp/fic3|while read line;
    do
            if [ `echo $line|cut -c1` == "-" ]
            then
                    path=`echo $line|awk '{print $NF}'`
                    fic=`basename $path`
                    if [ `cat ../tmp/fic2` == "exploit/" ]
                    then
                            if [ -e `find ../exploit/ADMIN -name $fic` ]
                            then
                                    echo -n "Choix : "
                                    read ans
                            else
                                    cd ../exploit/ADMIN
                                    tar xf ../../PACKAGE/archive.tar
                            fi
                    else
                            echo "rep prod"
                    fi
            fi
    done
    Donc voila mon souci se situe au niveau du "echo -n "Choix : "" et de "read ans". En fait dès que mon script arrive à ce niveau là il s'arrête et le prompt apparait san que je puisse insérer quoi que ce soit (bien sûr $fic existe ce qui me permet de rentrer dans la boucle).

    Voila j'espère que c'est assez clair pour vous et que vous allez pouvoir m'aider. Merci d'avance

  2. #2
    Membre éclairé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Par défaut
    La cmd read lit dans son entree standard. Si tu lui passes des paramètres, ce que tu tapes au clavier sera insérée dans ton param. (c juste une petite description vite fait de read).
    Le problème est qu'il attend que tu lui passes quelque chose dans son entrée standard.

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 81
    Par défaut
    Ok donc en fait toi tu me proposes de rentrer un paramètre directement dans mon script. Or c'est pas vraiment ce que je souhaite. L'utilisateur doit rentrer une valeur quelconque lorsque "Choix :" apparait. En fait, après je souhaites mettre un case pour effectuer des actions en fonction de ce qu'à taper l'utilisateur.

    voila

  4. #4
    Membre éclairé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Par défaut
    En fait qd je parlais de paramètres à passer au read pas au script.
    Est ce que tu peux me passer un exemple d'exécution de ton script et me montrer où ca bloque stp?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 81
    Par défaut
    En fait le code de mon script est déjà ce que j'ai mis plus haut donc tu peux le reprendre.

    Ensuite admettons qu'il s'appelle script.sh, je tape ./script.sh et voila ce que cela me donne :

    Choix : bash-3.00$

    Le prompt est tout de suite remontée alors que je devrais avoir le curseur juste après "Choix : " pour écrire ce que je veux.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    81
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 81
    Par défaut
    Quand je prends juste la partie
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if [ -e `find ../exploit/ADMIN -name $fic` ]
                            then
                                    echo -n "Choix : "
                                    read ans
                            else
                                    cd ../exploit/ADMIN
                                    tar xf ../../PACKAGE/archive.tar
                            fi
    cela fonctionne, j'ai mon curseur comme il faut.
    Donc à mon avis, le fait que je parcours un fichier au début du script pose un problème. Je sais pas ce que tu en penses.

  7. #7
    Membre éclairé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Août 2007
    Messages
    509
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux

    Informations forums :
    Inscription : Août 2007
    Messages : 509
    Par défaut
    Citation Envoyé par panach91 Voir le message
    En fait le code de mon script est déjà ce que j'ai mis plus haut donc tu peux le reprendre.

    Ensuite admettons qu'il s'appelle script.sh, je tape ./script.sh et voila ce que cela me donne :

    Choix : bash-3.00$

    Le prompt est tout de suite remontée alors que je devrais avoir le curseur juste après "Choix : " pour écrire ce que je veux.
    C'est bien ce que je pensais, c'est à a cause de l'option -n du echo. Mets un ";" apres l'instruction du echo et regarde ce que ca donne.

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

Discussions similaires

  1. Réponses: 4
    Dernier message: 06/02/2013, 10h34
  2. Problème avec .Echo
    Par Julie!!! dans le forum VBA Access
    Réponses: 3
    Dernier message: 18/06/2008, 09h43
  3. Problème avec echo
    Par laurentSc dans le forum Langage
    Réponses: 6
    Dernier message: 10/04/2008, 12h14
  4. [POO] Problème avec echo
    Par krfa1 dans le forum Langage
    Réponses: 2
    Dernier message: 02/11/2007, 12h00
  5. Problème avec la fonction read.
    Par Whaouu dans le forum Langage
    Réponses: 10
    Dernier message: 23/09/2005, 10h33

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