Книга: Искусство программирования на языке сценариев командной оболочки
Пример A-6. copy-cd: Копирование компакт-дисков с данными
Пример A-6. copy-cd: Копирование компакт-дисков с данными
#!/bin/bash
# copy-cd.sh: copying a data CD
CDROM=/dev/cdrom # устройство CD ROM
OF=/home/bozo/projects/cdimage.iso # промежуточный файл
# /xxxx/xxxxxxx/ измените для своей системы.
BLOCKSIZE=2048
SPEED=2 # Можно задать более высокую скорость, если поддерживается.
echo; echo "Вставьте исходный CD, но *НЕ* монтируйте его."
echo "Нажмите ENTER, когда будете готовы. "
read ready # Ожидание.
echo; echo "Создается промежуточный файл $OF."
echo "Это может занять какое-то время. Пожалуйста подождите."
dd if=$CDROM of=$OF bs=$BLOCKSIZE # Копирование.
echo; echo "Выньте исходный CD."
echo "Вставьте чистую болванку CDR."
echo "Нажмите ENTER, когда будете готовы. "
read ready # Ожидание.
echo "Копируется файл $OF на болванку."
cdrecord -v -isosize speed=$SPEED dev=0,0 $OF
# Используется пакет Joerg Schilling -- "cdrecord" .
# http://www.fokus.gmd.de/nthp/employees/schilling/cdrecord.html
echo; echo "Копирование завершено."
echo "Желаете удалить промежуточный файл (y/n)? " # Наверняка большой файл получился.
read answer
case "$answer" in
[yY]) rm -f $OF
echo "Файл $OF удален."
*) echo "Файл $OF не был удален.";;
esac
echo
# Упражнение:
# Добавьте в оператор "case" возможность обработки, введенных пользователем, "yes" и "Yes".
exit 0
- Пример установочного скрипта
- Резервное копирование базы данных InterBase
- Пример из практики
- Резервное копирование многофайловых баз данных
- Резервное копирование при работе InterBase в режиме 24x7
- ПРИМЕР ПРОСТОЙ ПРОГРАММЫ НА ЯЗЫКЕ СИ
- Примеры получения статистики
- Пример применения метода «пять почему»
- Пример 12-8. Частота встречаемости отдельных слов
- 1.2.5. Пример программы
- Пример 17-10. Блочный комментарий
- Примеры