
Program wypala na płycie pliki umieszczone w katalogu ~/.txtburn (można zmienić lokalizację wedle uznania), tam też tworzy obrazy. Aby wypalić obraz, należy go wpierw umieścić w rzeczonym katalogu i zmienić nazwę na txtburn.iso. Obsługa interfejsu programu polega na podaniu numerka odpowiadającego interesującej nas opcji (1-6) i zatwierdzeniu Enterem.
KOD ŹRÓDŁOWY:
Kod: Zaznacz cały
#!/bin/bash
DIRECTORY="$HOME/.txtburn"
VOLNAME="txtburn"
ISONAME="txtburn.iso"
DEVICE="/dev/sr0"
MAXSPEED="4"
BUFFERSIZE="14"
echo "Witaj w programie txtburn, prprawdopodobnie najmniejszej na świecie aplikacji do nagrywania płyt."
echo "Co teraz zamierzasz zrobić? Wybierz jedną z poniższych opcji:"
echo "1 - Utwórz obraz ISO z plików na HDD"
echo "2 - Utwórz obraz ISO z zawartości płyty"
echo "3 - Wykonaj kopię płyty"
echo "4 - Nagraj obraz na płytę"
echo "5 - Utwórz płytę z danymi"
echo "6 - Zweryfikuj poprawność danych"
echo "7 - Wyczyść płytę wielokrotnego zapisu (CD-RW)"
echo "8 - Wyjdź"
read d
case "$d" in
"1") genisoimage -J -o $DIRECTORY/$ISONAME -R -V $VOLNAME $DIRECTORY ;;
"2") echo "Włóż dysk do napędu i naciśnij Enter..."; read && dd if=$DEVICE of=$DIRECTORY/$ISONAME ;;
"3") echo "Włóż dysk do napędu i naciśnij Enter..."; read && dd if=$DEVICE of=$DIRECTORY/$ISONAME && eject $DEVICE && echo "Obraz jest gotowy do nagrania. Teraz włóż czystą płytę i naciśnij Enter."; read && wodim -v -dao -eject speed=$MAXSPEED fs=$BUFFERSIZE dev=$DEVICE $DIRECTORY/$ISONAME ;;
"4") wodim -v -dao -eject speed=$MAXSPEED fs=$BUFFERSIZE dev=$DEVICE $DIRECTORY/$ISONAME ;;
"5") genisoimage -J -o $DIRECTORY/$ISONAME -R -V $VOLNAME $DIRECTORY && wodim -v -dao -eject speed=$MAXSPEED fs=$BUFFERSIZE dev=$DEVICE $DIRECTORY/$ISONAME ;;
"6") cdck -d $DEVICE -v -t ;;
"7") sudo umount $DEVICE && wodim -v dev=$DEVICE -eject blank=fast ;;
"8") echo "Wychodzę z programu." ;;
esac
Wymagania: bash, genisoimage, wodim, dd, cdck, sudo.
Przy pisaniu wykorzystałem komendy stąd: http://forum.fluxboxpl.org/viewtopic.php?id=816 i trochę je zmodyfikowałem na potrzeby skryptu.
Aby skrypt działał poprawnie, możliwe, że trzeba będzie podać mu lokalizację napędu CD w systemie (zależy od używanego distro) - Wtedy wystarczy w 5. linijce kodu zmienić "/dev/sr0" na odpowiednią wartość.
Jakieś pytania/sugestie?