Os presento mi última creación . Es un script que usa cdrdao para copiar CDs. Así por lo menos le ahorro a alguien algún posavasos y unos minutos de lectura de páginas man
Aportaciones / sugerencias / correcciones bienvenidas:
Código:
#!/bin/bash #### # copiacd # 'Front-end' para copiar CDs usando cdrdao # (C) Ricardo Cervera Navarro. <[email protected]> # Under GPL License v. 2 #### # CONFIGURACIÓN # GRABADORA=0,1,0 LECTOR=0,0,0 MODO_LECUTRA_AUDIO=0 # 0 a 3 según el nivel de corrección. # Cuanto más alto sea el valor, mayor corrección, # pero lectura _mucho_ más lenta. # FUNCIONES # function leer_audio () { cdrdao read-cd --device "$LECTOR" --driver generic-mmc \ --paranoia-mode "$MODO_LECTURA_AUDIO" --datafile ./image_audio ./image_audio.toc } function tostar_audio () { VELOCIDAD=$1 cdrdao write --device "$GRABADORA" --driver generic-mmc \ --eject --speed "$VELOCIDAD" ./image_audio.toc } function leer_psx () { cdrdao read-cd --read-raw --device "$LECTOR" --driver generic-mmc-raw \ --datafile ./image_psx.bin ./image_psx.toc } function tostar_psx () { VELOCIDAD=$1 cdrdao write --eject --speed "$VELOCIDAD" --device "$GRABADORA" \ --driver generic-mmc ./image_psx.toc } function leer_datos () { cdrdao read-cd --device "$LECTOR" --driver generic-mmc \ --datafile ./image_datos ./image_datos.toc } function tostar_datos () { VELOCIDAD=$1 cdrdao write --eject --speed "$VELOCIDAD" --device "$GRABADORA" \ --driver generic-mmc ./image_datos.toc } ########## function uso () { echo "copiacd -- Script que copia CDs usando cdrdao" echo "-------" echo "copiacd necesita al menos un argumento" echo "para funcionar, dependiendo del modo." echo " " echo "Uso: copiacd <modo> [<velocidad>]" echo " " echo "Los modos posibles son:" echo "-datos_leer" echo "-datos_tostar <velocidad>" echo "-datos <velocidad>" echo "-psx_leer" echo "-psx_tostar <velocidad>" echo "-psx <velocidad>" echo "-audio_leer" echo "-audio_tostar <velocidad>" echo "-audio <velocidad>" echo " " echo "Las opciones *_leer, leen el CD, dejando la imagen" echo "y el fichero TOC en el directorio actual." echo " " echo "Las opciones *_tostar, graban la imagen del directorio" echo "actual a un CD en la grabadora a velocidad igual" echo "a <velocidad>" echo " " echo "Las opciones sin _leer ni _tostar, primero leen el disco" echo "y después lo graban a velocidad igual a <velocidad>." echo "Cuando termina el proceso borran los archivos de imagen," echo "al contrario que las opciones *_tostar, las cuales nos" echo "permiten crear varias copias con una sola lectura." echo " " echo "(C) Ricardo Cervera Navarro. <[email protected]>" echo "Under GPL License v. 2" echo " " } # EJECUCIÓN # case $1 in -audio_leer) leer_audio ;; -audio_tostar) if [ $# -ge 2 ]; then tostar_audio $2 else uso fi ;; -audio) if [ $# -ge 2 ]; then leer_audio tostar_audio $2 rm -f ./image_audio ./image_audio.toc else uso fi ;; -psx_leer) leer_psx ;; -psx_tostar) if [ $# -ge 2 ]; then tostar_psx $2 else uso fi ;; -psx) if [ $# -ge 2 ]; then leer_psx tostar_psx $2 rm -f ./image_psx.bin ./image_psx.toc else uso fi ;; -datos_leer) leer_datos ;; -datos_tostar) if [ $# -ge 2 ]; then tostar_datos $2 else uso fi ;; -datos) if [ $# -ge 2 ]; then leer_datos tostar_datos $2 rm -f ./image_datos ./image_datos.toc else uso fi ;; *) uso ;; esac
Un saludo,