#!/bin/bash # ejecter - Une simple fenêtre permettant de démonter des lecteurs # BROQUA damien, avril 2007 # Licence: GPL-2 PATH="/bin:/sbin:/usr/bin:/usr/sbin" export PATH VERSION="0.8" DIALOG="zenity" # messages TITLE="Ejecteur de medias" TITLE_ERROR="Erreur !" TITLE_RAPORT="Rapport final" MESSAGE0="Lecteur à démonter:" MESSAGE1="Lecteur(s) démonté(s):" MESSAGE2="Lecteur(s) non démonté(s):" COLUMN="point de montage" INFO="Version ${VERSION}\nAuteur: Broqua damien\nEmail: damien.broqua_at_gmail.com" case "$1" in "--help") ${DIALOG} --info --title="${TITLE}" --text="${INFO}" ;; "") # liste des medias disponibles MEDIAS="" for i in `cat /etc/mtab | cut -d " " -f2|grep "/"` ; do MEDIAS=${MEDIAS}" ; "${i} ; done # fenêtre de sélection des lecteurs à démonter MEDIA=`${DIALOG} --list --text="${MESSAGE0}" --column=" " --column="${COLUMN}" --checklist --title="${TITLE}" ${MEDIAS}` # initialisation de variables UMOUNT_ERROR="" UMOUNT_NICE="" # Demontage des medias if [ ${MEDIA} ] ; then for i in `echo ${MEDIA} |tr "|" " "` ; do # démontage du lecteur umount ${i} > /dev/null 2>&1 # Vérification de l'opération if [ "" != "`grep -i ${i} /etc/mtab`" ] ; then UMOUNT_ERROR=${UMOUNT_ERROR}"\n"${i} else UMOUNT_NICE=${UMOUNT_NICE}"\n"${i} fi done fi # Rapport final ${DIALOG} --warning --title="${TITLE_RAPORT}" --text="${MESSAGE1}${UMOUNT_NICE}\n\n${MESSAGE2}${UMOUNT_ERROR}" ;; esac