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.
84 lines
2.5 KiB
84 lines
2.5 KiB
8 years ago
|
#!/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
|