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 :

[bash] message d'attente


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut [bash] message d'attente
    Bonjour,

    Je suis entrain de créer un script et j'aurais voulu y ajouter un message d'attente progressif du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    attente.
    attente..
    attente...
    attente....
    attente....[OK]
    mais le tout sur la même ligne. Est-ce possible ? Si oui, comment puis-je le faire ?

    Merci d'avance !!!

  2. #2
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 653
    Par défaut
    Bonjour Badaboumpanpan,

    utilise l'option -n de echo
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  3. #3
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    utilise l'option -n de echo
    Merci N_BaH, j'ai tout sur une seule ligne.

    Par contre, j'avais pas préciser que le echo remplace le précédent

  4. #4
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 653
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 653
    Par défaut
    Je ne suis pas aller plus loin, car je ne sais pas ce que tu attends...

    Tu peux nous montrer ton code ?
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  5. #5
    Membre confirmé Avatar de Badaboumpanpan
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    202
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 202
    Par défaut
    En gros, j'ai une boucle for qui va chercher des infos et les mets dans un fichier text.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    for i in 1 2 3
    do
      command
      echo -n "etape $n : OK"
    done
    Mais je voudrais faire que le echo remplace le précédent :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    toto@becane $ ./script.sh
    etape 1 : OK
    puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    toto@becane $ ./script.sh
    etape 2 : OK
    et ainsi de suite, sur la même ligne. Un peu comme quand on fait un wget avec les "===>"

    Tu vois le truc ?

  6. #6
    Membre Expert
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    792
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mai 2004
    Messages : 792
    Par défaut
    Citation Envoyé par Badaboumpanpan Voir le message
    et ainsi de suite, sur la même ligne. Un peu comme quand on fait un wget avec les "===>"

    Tu vois le truc ?
    C'est une barre de progression qu'il te faut. Un peu tordu mais ceci devrait te mettre sur la voie:
    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
    #!/bin/sh
     
    progress() {
      printf "Attente."
      while : ;do
        printf "."
        sleep 1
      done
    }
     
    progress & PROGR_PID=$!
     
    # simulation d'une tâche qui prend du temps:
    sleep 10
    echo ""
     
    # on tue la progress bar
    kill $PROGR_PID
    Mais attention: si ta tâche est interrompue par une erreur tu auras toujours le script actif et arrière plan. Faudra gérer les sortie d'erreurs pour tuer le PID de la barre d'attente.

Discussions similaires

  1. Afficher un message d'attente en SQL Server
    Par bong03 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 10/05/2006, 09h43
  2. effacer un message d'attente
    Par ProgElecT dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 05/03/2006, 10h18
  3. Réponses: 8
    Dernier message: 25/11/2005, 18h38
  4. Message d'attente pendant pilotage Ole Excel
    Par yottatiger dans le forum C++Builder
    Réponses: 3
    Dernier message: 13/09/2005, 09h14
  5. [IdTCP] Comment tester l'existence de messages en attente ?
    Par HopeLeaves dans le forum Web & réseau
    Réponses: 1
    Dernier message: 29/06/2005, 10h03

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