Пример A-6. copy-cd: Копирование компакт-дисков с данными

Пример A-6. copy-cd: Копирование компакт-дисков с данными

  1. #!/bin/bash
  2. # copy-cd.sh: copying a data CD
  3. CDROM=/dev/cdrom                           # устройство CD ROM
  4. OF=/home/bozo/projects/cdimage.iso         # промежуточный файл
  5. #       /xxxx/xxxxxxx/                     измените для своей системы.
  6. BLOCKSIZE=2048
  7. SPEED=2                                    # Можно задать более высокую скорость, если поддерживается.
  8. echo; echo "Вставьте исходный CD, но *НЕ* монтируйте его."
  9. echo "Нажмите ENTER, когда будете готовы. "
  10. read ready                                 # Ожидание.
  11. echo; echo "Создается промежуточный файл $OF."
  12. echo "Это может занять какое-то время. Пожалуйста подождите."
  13. dd if=$CDROM of=$OF bs=$BLOCKSIZE          # Копирование.
  14. echo; echo "Выньте исходный CD."
  15. echo "Вставьте чистую болванку CDR."
  16. echo "Нажмите ENTER, когда будете готовы. "
  17. read ready                                 # Ожидание.
  18. echo "Копируется файл $OF на болванку."
  19. cdrecord -v -isosize speed=$SPEED dev=0,0 $OF
  20. # Используется пакет Joerg Schilling — "cdrecord" .
  21. # <a href="http://www.fokus.gmd.de/nthp/employees/schilling/cdrecord.html
  22. echo;" title="http://www.fokus.gmd.de/nthp/employees/schilling/cdrecord.html
  23. echo;">http://www.fokus.gmd.de/nthp/employees/schilling/cdrecord.html
  24. echo;</a> echo "Копирование завершено."
  25. echo "Желаете удалить промежуточный файл (y/n)? "  # Наверняка большой файл получился.
  26. read answer
  27. case "$answer" in
  28. [yY]) rm -f $OF
  29.      echo "Файл $OF удален."
  30.      ;;
  31. *)    echo "Файл $OF не был удален.";;
  32. esac
  33. echo
  34. # Упражнение:
  35. # Добавьте в оператор "case" возможность обработки, введенных пользователем, "yes" и "Yes".
  36. exit 0