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. donc, pour dire 'hello' lundi 01/03 à 16h00 je peux écrire un script du genre:

    at 1600 01.03.10 echo 'hello"

    ?

    merci
    1. 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. Contributeur
        hello
        pour l'écrire sur une seule ligne
        echo "echo hello > $(tty)" | at now +2minutes
        1. Modérateur
          Merci ;-)
      2. 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.
      3. à 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. 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. 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
              essaye
              echo "gedit --display=$DISPLAY fichier.txt" | at now + 1 minutes