Programmer un timer en shell

Résolu
wire less Messages postés 247 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,
Je souhaiterais programmer un timer en shell.
En faite, j'aimerais que mon terminale me prévienne à une certaine heure d'un certain jour et qu'il me renvois un message par "echo"

Avez vous une idée du scripte que je dois utiliser?
Merci.
Configuration: Windows XP
Firefox 3.6

10 réponses

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Non pas tout a fait.

    Il faut taper la commande directement dans le terminal, comme suit :

    [tmpfs]$ at now +1 minutes <ENTRÉE>
    warning: commands will be executed using (in order) a) $SHELL b) login shell c) /bin/sh
    at> echo "Hello" > /dev/pts/2 <ENTRÉE>
    at> <EOT> <CTRL+D>
    job 22 at 2010-01-29 15:00
    [tmpfs]$ 


    Tu rentre d'abord la commande at suivi de la date à laquelle elle est censée s'effectuer, et tu valides par <ENTRÉE>.
    Au prompt (at>) tu entres la commande qui doit être exécutée et éventuellement où elle doit être exécutée/affichée (dans ton cas le terminal), et tu valides par <ENTRÉE>.
    Pour terminer et sortir, tu tapes <CTRL+D> (le <EOT> ne doit pas être tapé, c'est le résultat de la combinaison de touche CTRL+D).
    1
  2. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    hello
    pour l'écrire sur une seule ligne
    echo "echo hello > $(tty)" | at now +2minutes
    1
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Merci ;-)
      0
  3. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    pour afficher un message dans une petite fenêtre, indépendamment du terminal
     echo "xmessage -geo 300x200 -display $DISPLAY hello"|at now+2minutes
    1
  4. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    Salut,

    man at
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. wire less Messages postés 247 Date d'inscription   Statut Membre Dernière intervention   5
     
    donc, pour dire 'hello' lundi 01/03 à 16h00 je peux écrire un script du genre:

    at 1600 01.03.10 echo 'hello"

    ?

    merci
    0
  7. wire less Messages postés 247 Date d'inscription   Statut Membre Dernière intervention   5
     
    et les "/dev/pts/2"
    "$(tty) "

    Ils servent à quoi?

    Perso, je voudrais executer mon scripte dans 3 minutes.
    D'habitude j'écris juste :
    sh scriipte

    donc la si j'écris
    echo "sh scriipte > $(tty)" | at now +3minutes
    ça va marcher?
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      Essaie et tu verras bien :-))

      Les $(tty) et/ou dev/pts/2 c'est les terminaux où doivent s'exécuter les commandes.
      0
  8. wire less Messages postés 247 Date d'inscription   Statut Membre Dernière intervention   5
     
    à cool.
    Et pour que mon script s'exécute dans le terminal en cours? Il faut que je rentre le nom de mon terminale? ...
    J'ai l'impression d'être vraiment relou ... dsl
    0
  9. wire less Messages postés 247 Date d'inscription   Statut Membre Dernière intervention   5
     
    Merci tout le monde :)
    0
  10. wire less Messages postés 247 Date d'inscription   Statut Membre Dernière intervention   5
     
    Bonjour.
    ça ne marche toujours pas.
    j'ai ecrit:
    echo "gedit fichier.txt > $(tty)" | at now plus 1 minutes

    la console m'a bien répondu : job 15 at 2010-02-01 13:53

    mais à 13: 53 j'ai rien vu!
    0
  11. dubcek Messages postés 18627 Date d'inscription   Statut Contributeur Dernière intervention   5 660
     
    essaye
    echo "gedit --display=$DISPLAY fichier.txt" | at now + 1 minutes
    0