#!/bin/sh if [ -z $1 ]; then echo "Usage: eject.hal " exit else echo "$1" | egrep "^/dev" if [ "$?" == "0" ]; then #echo "Device First, find mount point" TOSCAN=`echo "$1" | sed -e 's/ /\\\\\\\\040/g'` TOUMOUNT=`grep "$TOSCAN" /proc/mounts | cut -d" " -f2` UDI=`hal-find-by-property --key volume.mount_point --string "$TOUMOUNT"` DISC=`hal-get-property --udi "$UDI" --key volume.is_disc` /usr/local/bin/rox.panelput.pl Remove "$TOUMOUNT" halevt-umount "$1" halevt-umount -s if [ "$DISC" == "true" ]; then /usr/bin/eject -p "$1" &>/dev/null fi else #echo "Mount Point First, find device" UDI=`hal-find-by-property --key volume.mount_point --string "$1"` DISC=`hal-get-property --udi "$UDI" --key volume.is_disc` TOSCAN=`echo "$1" | sed -e 's/ /\\\\\\\\040/g'` TOUMOUNT=`grep "$TOSCAN" /proc/mounts | cut -d" " -f1` /usr/local/bin/rox.panelput.pl Remove "$1" nowait halevt-umount "$1" halevt-umount -s if [ "$DISC" == "true" ]; then /usr/bin/eject -p "$TOUMOUNT" &>/dev/null fi fi fi