Petit notifieur en shell

Bonjour à tous,

J’en conviens cette astuce est assez particulière et ne va pas servir à tout le monde mais qui sais.

J’ai a accéder à un server ssh. Sur le quel entre autre j’ai une compte e-mail.
Je voudrais éviter de faire un transfert de mail (en plus je crois que c’est pas permis). Bref voila il me fallait un moyen de parer mes oublis de taper la commande mail régulièrement.

J’ai résolu (contourné ?) le problème d’une manière bien intéressante, je trouve :

[code]# Mail
NbMail=grep -s "Message-Id" /var/mail/$USER | wc -l

Prompt

if [ $NbMail -ne 0 ]; then
PS1=’[\033[01;31m]\t[\033[00m]@\h:[\033[01;34m]\w[\033[00m]($NbMail)$ ‘
else
PS1=’[\033[01;31m]\t[\033[00m]@\h:[\033[01;34m]\w[\033[00m]$ '
fi[/code]
Au final je me retrouve avec un prompt comme ça quand j’ai pas de mail

et comme ça quand j’en ai un (ou plus) :

Je cherche encore un moyen de mettre ce compteur à jour périodiquement mais sans avoir accès à cron je ne vois pas. Voila si l’idée plaît à quelqu’un c’est tant mieux. :slightly_smiling:

Ca va peut être pas t’aider, mais j’avais entendu parler d’une astuce qui consistait à balancer en direct en fond d’écran nos logs. C’était vraiment en temps réel, sans passer par cron, tu devrais peut-être te renseigner sur le principe de fonctionnement pour ton shell.

[code]/usr/bin/mymail:
#!/bin/bash

Mail

NbMail=grep -s "Message-Id" /var/mail/$USER | wc -l

Prompt

if [ $NbMail -ne 0 ]; then
echo "($NbMail)"
fi[/code]

Ouai mais ça te bousille une session de vi. À faire tourner un prog en arrière plan autant faire tourner en tache de fond un truc du style :

[code]#!/bin/sh

while 1 ; do
sleep $1
NbMail=grep -s "Message-Id" /var/mail/$USER | wc -l;
done[/code]
Avec un export de la variable. :wink:
Et je règle l’intervalle en seconde comme je veux. :slightly_smiling:

Regarde mon post légèrement au dessus, y’a la solution :stuck_out_tongue: