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 :

[Shell] cherche code syntaxe en shell


Sujet :

Linux

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Par défaut [Shell] cherche code syntaxe en shell
    bonjour a tous,

    j ai un script sous unix que je veux ameliorer afin d'eviter de le lancer plusieurs fois d affilé !!!

    je cherche un code qui permet d utiliser une touche de raffrichissement en sortie standard et une autre pour sortir du script ?

    car je tappe dans une base dans laquelle les donnees bougent constament et grace a ce type de touche cela me permetterai de visualiser mon resultat juste en raffrichissant ma sortie standard et sortir une fois terminé !

    merci pour votre aide

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    tu pourrais être plus précis, a savoir ce quel est le problème actuel ?

    ce que j ai compris c est que tu dois lancer ton script plein de fois parce que les données changent entre temps ?? en tâche de fond ?

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Par défaut
    le resultat de mon script est balancé qu'une fois tandis que 5 seconde plus tard ce resultat est autre ....

    donc je souhaite garder en tache de fond (sortie standard) ce resultat et ainsi la possibilité de le raffraichir pour avoir les mise a jour !!!

  4. #4
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    16
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 16
    Par défaut
    Je pense avoir compris.

    1. Tu lances le programme qui reste en tâche de fond de la console en cours.
    2. Tu continues de travailler tranquillement sur la console en cours, sans que rien ne te perturbes.
    3. A un moment, tu envoies un signal quelconque qui demande au programme lancé en tache de fond d'écrire un truc sur la sortie standard.

    J'ai bon ?

    Si oui, j'ai pas trop d'idée.

    Si tu veux retirer la partie 2 (ta console est dévolue au programme, et uniquement à lui) alors c'est possible en récupérant ce qui se tape au clavier.

  5. #5
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    moi non plus je vois pas trop pour la tache de fond

    sinon une façon simple avec une console pour ton programme

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    #!/bin/sh
     
     
    while true
    do
    	while true
    	do
    		read pass
    		test `echo $pass` = "refresh" && break
    		echo "commande inconnue"
    	done
    	les commandes de ton script
    done
    en tapant refresh, le programme exécute tes commandes sinon il attend. Le seul probleme c est que ta console est inutilisable tant que le script tourne.
    (ctrl c pour quitter)

  6. #6
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Par défaut
    merci c'est effectivement ce que je cherché ...

    je pensais qu'il existe du code shell de facon a gerer tous ca par des touches fonction par exemple ....

    genre PF5 pour rafraichir et PF10 pour quitter ....

    et le fait que ma console soit inutilisable pendant que le programme tourne ne me gene absolument pas au contraire meme

    donc ta boucle fonctionne tres bien mais j ai cru trouver une fonction unix "trap" qui gere les touches clavier mais j ai rien trouvé du comment l utiliser ....

    si tu as une idée ??

    en tous cas ca depanne bien ta boucle )

    merci

    a pliche

  7. #7
    Membre chevronné
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Par défaut
    gestion des touches, euh non je connais pas; j en ai jamais entendu parler mais ça doit exister

  8. #8
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 193
    Par défaut
    bon on le saura un jour .... pour l instant je me contente de la boucle qui marche tres bien, je l ai un chouya modifiee mais a peine

    merci

    a pliche

  9. #9
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 853
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 853
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par nenekes Voir le message
    bon on le saura un jour
    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
    #!/bin/sh
    affich()
    {
         echo "tout ce qu'il faut afficher à la demande"
    }
     
    trap affich SIGINT
    nice -20                    # => baisse la priorité du script => il ne gènera pas le travail
     
    echo "pid: $$"
    while true
    do
         ...<travail du script>...
         sleep 5
    done
    Tu lances ton script en tâche de fond (avec "&"). Il commence par t'afficher son pid (par exemple 7822) et te rend la main. Tu peux continuer à bosser
    Dès que t'as besoin d'une info, tu tapes "kill -2 7822" => le script t'affiche son info
    Tu veux l'arrêter => kill -15 7822
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

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

Discussions similaires

  1. syntaxe du Shell Vbnet
    Par gritchefr dans le forum VB.NET
    Réponses: 3
    Dernier message: 18/01/2014, 19h51
  2. Cherche assistance Lille PL/SHELL
    Par decisio dans le forum Autres
    Réponses: 0
    Dernier message: 05/07/2012, 09h38
  3. Réponses: 1
    Dernier message: 23/06/2010, 14h42
  4. Code en bourne shell du jeu Le "PENDU"
    Par piment dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 20/07/2007, 14h17

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