linux-l: Disk-Jockey

Jens-Uwe Morawski morawski at gmx.net
Mi Nov 29 10:17:48 CET 2000


Hallo,

Da ich vor kurzem mit vielen CDROMS hantieren mußte und mich dieses
ständige "mount blablabla, umount blablabla, eject blablabla" völlig
nervte, besonders wenn man noch unterhalb des Mountpoints steht, habe
ich dieses Script geschrieben. Vielleicht hat jemand Interesse und
kann es gebrauchen.
Jens
P.S. Verbesserungen, da gibts genug, sind willkommen!!!!
>>> Anfang>>>
#
# Dieses Script muß ge"source"t werden da sonst die "cd"s keine Wirkung
# in der aktuellen Shell zeigen.
# z.B.:
#  Datei nach ~/bin/cdrom  
#  alias cdrom="source ~/bin/cdrom"
#  und dann mittels "cdrom" aufrufen
#  Kann sein, daß es nur in der bash funktioniert.
#========================================
# Hier die Gerätedatei (Device) anpassen
#
CDDEVICE=/dev/hdc
#========================================
# MountPoint feststellen
CDMP=`cat /etc/fstab|grep $CDDEVICE |awk '{print $2}'`
# ? Ist Cdrom bereits gemountet ?
if `mount|grep $CDDEVICE &>/dev/null`
then
	# CD-Rom ist gemountet
	# ? Liegt aktuelles PWD noch unterhalb CD-MountPoint ?
	if `pwd|grep $CDMP &>/dev/null`
	then
		# ? Existiert die Datei, die das Verzeichnis vor dem
		#   letzten Mount enthält ?
		if [ -e ~/.cwdCdrom ]
		then
			# ! Dann Wechsel in dieses Verzeichnis !
			cd $(cat ~/.cwdCdrom)
		else
			# ! sonst nach HOME !
			cd
		fi
	fi

	echo -n "CDRom wird ausgehängt..."
	umount $CDDEVICE && echo -en "\r                                   \r "
	# ? Gibt es das eject-Programm um CDrom auszuwerfen ?
	if `which eject &>/dev/null`
	then
		# ? Soll ausgeworfen werden ?
		echo -en "Auswerfen? [\\033[1;32mj\\033[0m|n]: "
                read 
		if `test -z $REPLY || test $REPLY = "J" -o $REPLY = "j"`
		then
	        	echo -en "CDRom wird ausgeworfen..."
			eject $CDDEVICE
                        echo -en "\r                                        \r"
		else
			echo -en "\r                                        \r"
		fi
	fi
else
	# CDRom ist nicht gemountet

	# Sichern des aktuellen Verzeichnisses
	pwd>~/.cwdCdrom
	echo -n "CDRom wird eingehängt..."
	mount $CDDEVICE && echo -en "\r                                  \r" \
         && cd $CDMP
fi
<<<<Ende<<<<



Mehr Informationen über die Mailingliste linux-l