Programmer un timer en shell

Résolu
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. Contributeur
    essaye
    echo "gedit --display=$DISPLAY fichier.txt" | at now + 1 minutes
    1. 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!
      1. Contributeur
        pour afficher un message dans une petite fenêtre, indépendamment du terminal
         echo "xmessage -geo 300x200 -display $DISPLAY hello"|at now+2minutes
        1. à 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
          1. 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?
            1. Modérateur
              Essaie et tu verras bien :-))

              Les $(tty) et/ou dev/pts/2 c'est les terminaux où doivent s'exécuter les commandes.
          2. Contributeur
            hello
            pour l'écrire sur une seule ligne
            echo "echo hello > $(tty)" | at now +2minutes
            1. Modérateur
              Merci ;-)
          3. Modérateur
            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. donc, pour dire 'hello' lundi 01/03 à 16h00 je peux écrire un script du genre:

              at 1600 01.03.10 echo 'hello"

              ?

              merci