53 lines
1.0 KiB
Plaintext
53 lines
1.0 KiB
Plaintext
|
#!/bin/sh
|
||
|
# auto-unmount floppy/cd directory before ejecting device
|
||
|
# script taken from Debian Linux's amd
|
||
|
#
|
||
|
# Package: am-utils-6.0
|
||
|
# (Additional) author: Erez Zadok <ezk@cs.columbia.edu>
|
||
|
|
||
|
# set path
|
||
|
prefix=@prefix@
|
||
|
exec_prefix=@exec_prefix@
|
||
|
PATH=@sbindir@:@bindir@:/usr/ucb:/usr/bin:/bin:${PATH}
|
||
|
export PATH
|
||
|
|
||
|
if [ $# -ne 1 ]; then
|
||
|
echo "Usage: $0 cd|fd"
|
||
|
exit 2
|
||
|
fi
|
||
|
|
||
|
# determine toplevel mount point of amd
|
||
|
fs=`amq | grep ' toplvl ' | cut -d' ' -f1`
|
||
|
if [ "$fs" = "" ]; then
|
||
|
echo "Cannot determine amd toplevel directory"
|
||
|
exit 2
|
||
|
fi
|
||
|
|
||
|
# append name of medium
|
||
|
case "$1" in
|
||
|
cd|fd) fs=$fs/$1;;
|
||
|
*) echo "Usage: $0 cd|fd"; exit 2;;
|
||
|
esac
|
||
|
|
||
|
# is the medium mounted?
|
||
|
if amq | grep -q "^$fs" >/dev/null 2>&1; then
|
||
|
# if yes, try to unmount it
|
||
|
sync
|
||
|
amq -u $fs
|
||
|
sleep 2
|
||
|
if amq | grep -q "^$fs" >/dev/null 2>&1; then
|
||
|
# failed, bail out
|
||
|
echo -n "Cannot unmount $fs; in use by:"
|
||
|
fuser -uv -m $fs
|
||
|
echo ""
|
||
|
exit 1
|
||
|
fi
|
||
|
else
|
||
|
echo "$fs not mounted"
|
||
|
fi
|
||
|
|
||
|
case $1 in
|
||
|
cd) eject;; # eject CD-ROM
|
||
|
fd) echo "Ok to remove disk";;
|
||
|
esac
|