Hola a todos.
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,