Article Listing 1 Listing 2 Listing 3 apr2005.tar

Listing 3 dd_from_floppy -- mount the drive and copy from a floppy

#!/bin/ksh

function eject_floppy
{
   for device in $(ls /dev/rdiskette*)
   do
      volrmmount -e $device
   done
   eject floppy 2>&- >&-
}

function insert_floppy
{
   for device in $(ls /dev/rdiskette*)
   do
      volrmmount -i $device
   done
}

if [[ -z $1 ]]
then
   echo "Missing file name!" >&2
else
   file=$1
   eject_floppy
   insert_floppy
   volcheck
   PS3="Select block file:"
   select block_file in $(ls /vol/dev/diskette0)
   do
      case $block_file in
      *)
         if [[ -f $file ]]
         then
            answer=$(ckyorn -p "Overwrite ${file}?")
         else
            answer=$(ckyorn -p "Create ${file}?")
         fi
         case $answer in
         y*|Y*)
            dd if=/vol/dev/diskette0/$block_file of=$file
            eject_floppy
            exit
            ;;
         *)
            exit
            ;;
         esac
         ;;
      esac
   done
   print "Block file not found!"
   eject_floppy
fi