Programmer un timer en shell

Résolu
wire less Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   -  
dubcek Messages postés 18789 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.
A voir également:

10 réponses

jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
hello
pour l'écrire sur une seule ligne
echo "echo hello > $(tty)" | at now +2minutes
1
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Merci ;-)
0
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
pour afficher un message dans une petite fenêtre, indépendamment du terminal
 echo "xmessage -geo 300x200 -display $DISPLAY hello"|at now+2minutes
1
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

man at
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wire less Messages postés 233 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
wire less Messages postés 233 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
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Essaie et tu verras bien :-))

Les $(tty) et/ou dev/pts/2 c'est les terminaux où doivent s'exécuter les commandes.
0
wire less Messages postés 233 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
wire less Messages postés 233 Date d'inscription   Statut Membre Dernière intervention   5
 
Merci tout le monde :)
0
wire less Messages postés 233 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
dubcek Messages postés 18789 Date d'inscription   Statut Contributeur Dernière intervention   5 637
 
essaye
echo "gedit --display=$DISPLAY fichier.txt" | at now + 1 minutes
0