# ############################################################## # " t a r d i r e k t " V 1.0 (12.3.91) # # w) W. Moehle c) iX, Heise Verlag # ############################################################## clear echo "=========================================================" echo "D i r e k t z u g r i f f a u f T A R - A r c h i v e" echo "=========================================================" echo echo "Bitte Tape einlegen - danach RETURN" read dummy # Script anhalten echo "Band wird zurueckgespult" /usr/lib/tape/scsicntl -w # Band zurueckspulen echo echo "Inhalts-Datei wird gelesen" rett=`pwd` # Standort merken mkdir /tmp/$$ # tmp/Verzeichnis - cd /tmp/$$ # anlegen und hingehen tar xf /dev/rmt/c1s0n # erste Datei lesen inhalt=/tmp/$$/`ls` # Namen festlegen cd $rett # wieder zurueckkehren tape_zeiger=1 tape_zeiger_max=`wc -l < $inhalt` # Anzahl der Dateien until [ "$eingabe" = q ] # Schleifenbeginn do clear (echo "=====================================";\ echo "I n h a l t s v e r z e i c h n i s :";\ echo "=====================================";\ echo;\ nl < $inhalt) | more echo echo "Nummer 1 bis"$tape_zeiger_max", (q)uit oder Taste" read eingabe # Auswahl treffen if [ "$eingabe" -gt 0 ] && \ [ "$eingabe" -le $tape_zeiger_max ] # kleiner oder gleich then if [ $eingabe -ne $tape_zeiger ] # nicht gleich then if [ $eingabe -gt $tape_zeiger ] # groesser als then vorlauf=` expr $eingabe - $tape_zeiger - 1 ` else /usr/lib/tape/scsicntl -w # Band zurueckspulen vorlauf=` expr $eingabe - 1 ` fi /usr/lib/tape/scsicntl -p $vorlauf # Band vorlaufen fi tar xf /dev/rmt/c1s0n # Datei laden tape_zeiger=$eingabe # Zeiger aktualisieren fi done # Schleifenende /usr/lib/tape/scsicntl -w # Band zurueckspulen rm -r /tmp/$$ # Verzeichnis loeschen echo echo "Band kann entnommen werden"