PostIt
Transcription
PostIt
Dec 18, 01 9:03 PostIt Page 1/2 #!/bin/bash ############################ Sortie ############################# # Efface l’ecran, affiche les postits programmés et quitte # # La fonction s’execute si l’utilisateur choisit de quitter # le programme par selection dans le menu ou en tapant CTRL−C (Signal 2) function Sortie { clear echo −e "Liste des PostIts programmés:\n" at −l echo −e "\nA la prochaine..." sleep 1 exit 0 } ################################################################## ########################## Ajout ################################# # Demande la saisie à l’écran d’une date et heure puis d’une chaine # de caractères. Programme l’affichage du message function Ajout { #recuperation des arguments de la fonction TTY=$1 JOBREP=$2 echo −e "\nNous sommes le ‘date‘\n\n" #echo −e "Saisissez le jour du mois: " #read JOUR echo −n "Saisissez l’heure: " read HEURE echo −n "Saisissez les minutes: " read MINUTE echo −n "Tapez votre ligne de message: " read MESG #preparation du fichier à executer echo −e "echo $MESG > $TTY \n" > $JOBREP/$HEURE$MINUTE echo −e "rm −f $JOBREP/$HEURE$MINUTE" >> $JOBREP/$HEURE$MINUTE #programmation du script cd $JOBREP RET=‘at $HEURE:$MINUTE −f$JOBREP/$HEURE$MINUTE 2> /dev/null‘ return 0 } ################################################################## ########################## Del ################################# # Demande la saisie d’un numéro de job "at" # et supprime ce job ainsi que le fichier correspondant function Del { List echo −n "Saisissez le numéro du postit: " read NUM #verifie si le job existe if [ ‘at −l|cut −f1|grep $NUM‘ ] then #On recupere la ligne contenant rm SUP=‘at −c $NUM | grep "rm −f"‘ #On supprime le fichier ‘$SUP‘ #On supprime le job atrm $NUM return 0 else echo −e "\nErreur, ce postIt n’existe pas!!!\n" return 0 fi } ############################################################### ########################## List ################################# # Affiche la liste des jobs programmé avec la commande "at" function List { echo −e "\nListe des PostIts\n" at −l echo −e "\n" return 0 } ################################################################ Tuesday December 18, 2001 1/2 PostIt Dec 18, 01 9:03 Page 2/2 ######################### Début ################################ #Définition des variables JOBREP="$HOME/.postit" #Repertoire contenant les scripts a executer #TTY=‘tty‘ #TTY="/dev/console" TTY="/dev/pts/0" #l’affichage des postits se fait dans le terminal #courant #l’affichage se fait sur console en mode graphique #l’affichage se fait sous KDE #Verification de l’existence du répertoire ".postit" if [ ! −d $JOBREP ] then # Creation du répertoire si celui−ci est inexistant mkdir $JOBREP fi #Lance la fonction Sortie si l’utilisateur tape CTRL−C trap Sortie 2 export PS3="Votre Choix ? " echo "" select CHOIX in \ "Ajouter un postit" \ "Supprimer un postit" \ "Lister les postits existants" \ "fin" do case $CHOIX in "Ajouter un postit") Ajout $TTY $JOBREP;; "Supprimer un postit") Del;; "Lister les postits existants") List;; ’fin’) Sortie;; *) echo −e "\aMauvais choix !!\a";; esac done ############################################################### 2/2 Tuesday December 18, 2001