[gull] Truc et astuces: At sans atd (bash)

Félix Hauri felix at f-hauri.ch
Sat May 7 00:52:50 CEST 2011


Bonjour,

Voici un petit truc qui permet d'attendre un moment précis, p. ex avant
d'effectuer une tâche particulière, mais sans utiliser le daemon ``atd''.
(Avantage/inconvénient, la commande s'effectue dans la console courante,
elle est donc tributaire de son existance, on peut s'affranchir de cette
fragilité en utilisant cette astuce dans un script, lancé avec nohup et/
ou des redirections, ou en utilisant une console screen, mais ce n'est
pas le sujet.)

Bref, l'idée est d'utiliser sleep pour attendre la bonne ``période'':
$ sleep $(($(printf "%s-%s" $(echo $'may 12 12:34:56\nnow'|date -f - +%s))))

Pour mieux voir:
$ echo $(($(printf "%s-%s" $(echo $'may 12 12:34:56\nnow'|date -f - +%s))))
475302

Et alors donc:
$ date -d "now +$(($(printf "%s-%s" $(echo may 12 12:34:56$'\nnow'|date -f - +%s)))) secs"
jeudi 12 mai 2011, 12:34:56 (UTC+0200)

...amusant, non?

Question quizz: lorsque je tapes ``ps ax'', je vois des ``sleep'', comment 
faire pour savoir à qui il appartient, quel pty il est rataché et pour quel
moment il est programmé ?

pour les mecs balèzes (geeks et autres hackers): dites-moi plutôt ce que la
session devrait faire après si, p.ex: la commande à été lancée dans une console 
screen, suivie de :
...2:34:56\nnow'|date -f - +%s)))) ; somestupidshints /
?

--
 Félix Hauri  -  <felix at f-hauri.ch>  -  http://www.f-hauri.ch


More information about the gull mailing list