daily pastebin goal
2%
SHARE
TWEET

Untitled

a guest Jan 21st, 2018 51 Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #!/bin/bash
  2.  
  3. #Permet de créer le répertoire quitter et le fichier horaires.db,
  4. #et de remplir le fichier boucle.pid
  5. function config {
  6. mkdir -p ~/.config/quitter
  7. touch $emplacement
  8. touch $emplacement2
  9. echo $processus >$emplacement2
  10. }
  11.  
  12. # Déclaration des variables
  13. processus=$!
  14. option=$1
  15. tag=$2
  16. date=$(date +%H%M)
  17. emplacement=~/.config/quitter/horaires.db
  18. emplacement2=~/.config/quitter/boucle.pid
  19.  
  20. #Lancement des fonctions config et rappel.
  21. config
  22. rappel
  23.  
  24. # Case qui permet de lancer la fonction qui correspond à la vlonté de l'utilisateur
  25. case "$option" in
  26. -q)
  27. rm $emplacement2
  28. kill -9 $processus
  29. ;;
  30. -l)
  31. afficherAVenir
  32. ;;
  33. -a)
  34. afficher
  35. ;;
  36. -r)
  37. supprimer
  38. ;;
  39. -h)
  40. manuel
  41. ;;
  42. *[0-9]*)
  43. ajout
  44. ;;
  45. esac
  46.  
  47.  
  48. #Affiche le manuel
  49. function manuel {
  50. echo "UTILISATION :     quitter [-OPTION] [+tag..] "
  51. echo ""
  52. echo "          quitter HHMM message... [+tag..]"
  53. echo " "
  54. echo "OPTIONS :     -q : Arrête la boucle."
  55. echo " "
  56. echo "      -l [+tag..] : afficher la liste des prochains rendez-vous (Heure et message). On peut afficher des évènements avec un tag particulier."
  57. echo " "
  58. echo "      -a [+tag..] : afficher la liste de tous les rendez-vous. On peut afficher des évènements avec un tag particulier."
  59. echo " "
  60. echo "      -r [HHMM] [+tag..] : supprime les rendez-vous correspondant à l'heure ou au tag."
  61. echo " "
  62. echo "      -h : affiche l'aide de l'application."
  63. echo " "
  64. }
  65.  
  66.  
  67. #Ajoute un rendez-vous dans horaires.db
  68. function ajout {
  69. echo $* >> $emplacement
  70. }
  71.  
  72. #Supprime un rendez-vous dans oraires.db
  73. function supprimer {
  74. sed -i '/'$tag'/d' $emplacement
  75. }
  76.  
  77. #Affiche tous les rendez-vous de horaires.db. Option : Afficher que les rendez-vous avec un tag particulier
  78. function afficher {
  79. if test $tag
  80. then grep $tag $emplacement
  81. else cat $emplacement
  82. fi
  83. }
  84.  
  85. #Affiche tous les rendez-vous de horaires.db à venir. Option : Afficher que les rendez-vous avec un tag particulier
  86. function afficherAVenir {
  87.  
  88.     while read heure message tagw
  89.     do
  90.     if test $date -le $heure
  91.     then
  92.         if test $tag
  93.         then
  94.             if test "$tag" = "$tagw"
  95.             then
  96.             grep -e "$heure.*$tag" $emplacement
  97.             fi
  98.         else
  99.         echo $heure $message $tagw
  100.         fi
  101.     fi
  102.     done < $emplacement
  103. }
  104.  
  105. #Permet d'afficher un message quand c'est l'heure d'un rendez-vous
  106. function rappel {
  107.     while true
  108.     do
  109.         while read heure message tagw
  110.         do
  111.         if test $date -eq $heure
  112.         then
  113.             xmessage $(grep $date $emplacement)
  114.         fi
  115.         done < $emplacement
  116.     sleep 30
  117.     done
  118. }
RAW Paste Data
Top