You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

83 lines
2.5 KiB

#!/bin/sh
#
# (c) 2014 by zzzZZ for NI
PROG=$(basename $0)
devices="/tmp/devices.txt"
MOUNTBASE=/media
mountedevices() {
sleep $1
mdev -s
}
search4devices() {
test -e $devices && rm $devices
echo "$(mount | grep -E "/dev/sd|/dev/sr|/dev/mmcblk" | cut -d" " -f1,2,3)" > $devices.tmp
while read line
do
test "${line:0:1}" = "" && continue
BLKID=$(blkid $(echo $line | cut -d" " -f1))
eval ${BLKID#*:}
echo "$line type $TYPE ($LABEL)," >> $devices
done < $devices.tmp
rm $devices.tmp
echo "~GSuche und Mounte neue Devices" >> $devices
}
device="firstrun"
while [ "$device" != "" ]; do
(msgbox title="Mountpoints verwalten" popup="~cSuche Mountpoints..." cyclic=0) &
search4devices
killall msgbox
device=$(msgbox title="Mountpoints verwalten" msg="~cVerf~ugbare Mountpoints" order=1 select="$(cat $devices)" echo=1)
if [ "$device" != "" ]; then
if [ "$(echo $device | cut -d" " -f1)" = "~GSuche" ]; then
(msgbox popup="~cSuche nach neuen Devices. Bitte warten..." timeout=60 cyclic=0) &
mountedevices 0
#msgbox msg="~cSuche beendet." timeout=3
killall msgbox
else
if [ "$(msgbox title="Best~atigung" msg="Mountpoint $(echo $device | cut -d" " -f3) aush~angen?" select="ja,nein" default=2 echo=1)" == "ja" ]; then
(msgbox popup="~cbitte warten..." cyclic=0) &
sync; sleep 3
umount $(echo $device | cut -d" " -f3)
rc=$?
killall msgbox
if [ "$rc" != "0" ]; then
msgbox msg="Fehler beim umount. RC:$rc" timeout=10
else
rmdir $(echo $device | cut -d" " -f3)
OLDPWD=$PWD
cd $MOUNTBASE
for i in *; do
[ -L "$i" ] || continue
TARGET=$(readlink "$i")
if echo $device | cut -d" " -f3 | grep -E $TARGET > /dev/null; then
rm "$i"
fi
done
cd $OLDPWD
if echo $device | grep -E "/dev/sr"; then
if [ "$(msgbox title="Best~atigung" msg="Umount erfolgreich. ~nMedium auswerfen?" select="ja,nein" default=1 echo=1)" == "ja" ]; then
eject -T $(echo $device | cut -d" " -f1)
if [ "$(msgbox title="Best~atigung" msg="Schublade wieder schlie~zen und remount durchf~uhren?" select="ja,nein" default=1 echo=1)" == "ja" ]; then
eject -t $(echo $device | cut -d" " -f1)
mountedevices 10 & #10 Sekunden sleep vor mdev sollte fuer das Laufwerk wohl reichen
msgbox msg="~cVersuche $(echo $device | cut -d" " -f3) erneut zu mounten." timeout=3
fi
fi
else
msgbox msg="~cUmount erfolgreich." timeout=3
fi
fi
fi
fi
fi
done
test -e $devices && rm $devices