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 :

Entrer du texte dans un screen avec un script sh ?


Sujet :

Linux

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10
    Par défaut Entrer du texte dans un screen avec un script sh ?
    Bonjour,

    J'aimerais que mon script sh exécute un mot ("quit") dans un screen, car pour que l'application qui tourne derrière s'arrête proprement (et sauvegarde aussi les infos) je dois taper "quit" dans le screen.

    Plus clairement, voilà ce que je tape manuellement le reste du temps :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    screen -r nomduscreen
    quit
    Et là l'application s'arrête proprement, rapidement et sauvegarde les infos. Ce n'est pas le cas si je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    screen -dr nomduscreen -X quit
    Si quelqu'un a une idée, merci d'avance.

  2. #2
    Membre expérimenté
    Inscrit en
    Octobre 2005
    Messages
    344
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 344
    Par défaut
    Peut-être avec ça:
    screen -r nomduscreen <<EOF
    quit
    EOF
    ??

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10
    Par défaut
    Citation Envoyé par usf70
    Peut-être avec ça:


    ??
    En mettant ce code il me retourne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Must be connected to a terminal.

  4. #4
    Membre expérimenté
    Inscrit en
    Octobre 2005
    Messages
    344
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 344
    Par défaut
    Pourrais-tu lancer ton application en lui donnant un fichier fifo en entrée qui serait en fait son stdin ?
    Je m'explique:
    on crée un fichier fifo :
    # mkfifo /tmp/fic_entree
    ensuite lancer l'application:
    # lancer_appli.sh < /tmp/fic_entree
    tout ce qui sera envoyé dans le fichier /tmp/fic_entree, sera en fait le stdin de ton application. Donc pour ton quit, tu ferais:
    echo "screen -r nomduscreen; quit" > /tmp/fic_entree
    C'est juste une idée comme ça ....

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10
    Par défaut
    Citation Envoyé par usf70
    Pourrais-tu lancer ton application en lui donnant un fichier fifo en entrée qui serait en fait son stdin ?
    Je m'explique:
    on crée un fichier fifo :

    ensuite lancer l'application:

    tout ce qui sera envoyé dans le fichier /tmp/fic_entree, sera en fait le stdin de ton application. Donc pour ton quit, tu ferais:


    C'est juste une idée comme ça ....
    Merci de ton aide.

    Le truc c'est que j'exécute ensuite mon script.sh avec php (ssh2_exec()) pour pouvoir quitter l'appli qui tourne dans le screen en un clic, ça ne va pas poser problème ?

    On ne peut pas demander au script de taper "quit" tout seul dans le screen ?

  6. #6
    Membre habitué
    Profil pro
    Inscrit en
    Janvier 2007
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10
    Par défaut
    Solution trouvée. Pour les éventuels intéressés je voulais donc que mon script sh tape "quit" dans le screen d'un hltv (serveur cs).

    Il fallait donc rajouter "-console" dans la ligne de lancement du hltv et rentrer ensuite dans le script sh :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    screen -S nomduscreen -X -p0 eval "stuff 'quit'^m"

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 07/08/2008, 12h17
  2. [SWT] Centrer verticalement le texte dans un label avec SWT
    Par Poulpynette dans le forum SWT/JFace
    Réponses: 11
    Dernier message: 14/03/2008, 11h12
  3. Importer un fichier texte dans une table avec champ Memo
    Par Steph4fun dans le forum Paradox
    Réponses: 12
    Dernier message: 25/11/2007, 23h10
  4. Réponses: 1
    Dernier message: 30/10/2007, 09h49
  5. alignement text dans un menu avec ie
    Par HADES62 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 3
    Dernier message: 10/05/2006, 19h49

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