# ##############################################################
#    " 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"
