Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #Permet de créer le répertoire quitter et le fichier horaires.db,
- #et de remplir le fichier boucle.pid
- function config {
- mkdir -p ~/.config/quitter
- touch $emplacement
- touch $emplacement2
- echo $processus >$emplacement2
- }
- # Déclaration des variables
- processus=$!
- option=$1
- tag=$2
- date=$(date +%H%M)
- emplacement=~/.config/quitter/horaires.db
- emplacement2=~/.config/quitter/boucle.pid
- #Lancement des fonctions config et rappel.
- config
- rappel
- # Case qui permet de lancer la fonction qui correspond à la vlonté de l'utilisateur
- case "$option" in
- -q)
- rm $emplacement2
- kill -9 $processus
- ;;
- -l)
- afficherAVenir
- ;;
- -a)
- afficher
- ;;
- -r)
- supprimer
- ;;
- -h)
- manuel
- ;;
- *[0-9]*)
- ajout
- ;;
- esac
- #Affiche le manuel
- function manuel {
- echo "UTILISATION : quitter [-OPTION] [+tag..] "
- echo ""
- echo " quitter HHMM message... [+tag..]"
- echo " "
- echo "OPTIONS : -q : Arrête la boucle."
- echo " "
- echo " -l [+tag..] : afficher la liste des prochains rendez-vous (Heure et message). On peut afficher des évènements avec un tag particulier."
- echo " "
- echo " -a [+tag..] : afficher la liste de tous les rendez-vous. On peut afficher des évènements avec un tag particulier."
- echo " "
- echo " -r [HHMM] [+tag..] : supprime les rendez-vous correspondant à l'heure ou au tag."
- echo " "
- echo " -h : affiche l'aide de l'application."
- echo " "
- }
- #Ajoute un rendez-vous dans horaires.db
- function ajout {
- echo $* >> $emplacement
- }
- #Supprime un rendez-vous dans oraires.db
- function supprimer {
- sed -i '/'$tag'/d' $emplacement
- }
- #Affiche tous les rendez-vous de horaires.db. Option : Afficher que les rendez-vous avec un tag particulier
- function afficher {
- if test $tag
- then grep $tag $emplacement
- else cat $emplacement
- fi
- }
- #Affiche tous les rendez-vous de horaires.db à venir. Option : Afficher que les rendez-vous avec un tag particulier
- function afficherAVenir {
- while read heure message tagw
- do
- if test $date -le $heure
- then
- if test $tag
- then
- if test "$tag" = "$tagw"
- then
- grep -e "$heure.*$tag" $emplacement
- fi
- else
- echo $heure $message $tagw
- fi
- fi
- done < $emplacement
- }
- #Permet d'afficher un message quand c'est l'heure d'un rendez-vous
- function rappel {
- while true
- do
- while read heure message tagw
- do
- if test $date -eq $heure
- then
- xmessage $(grep $date $emplacement)
- fi
- done < $emplacement
- sleep 30
- done
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement