Bonsoir à tous,

Ceci est un appel au secours pour notre cher Jipe, le roi du script.
 
J'ai voulu jouer au cacou en modifiant et en adaptant un script de gestion 
de graveur de cd en console crée par Jipe et bien sur ça marche pö. 
Au départ je voulai simplement mettre des variables pour les acces au 
périphérique au lieu des référence en dur dans les lignes de commandes.

Comme je ne connais rien au bash, j'ai posé la question sur la liste, fait 
les modifications en conséquence et rien à faire , ça marche pas.

Voici le script modifié : (l'original se situe sur http://mdk.mondelinux.org

# !/bin/bash

# auteur : jipe
# modifie le 30/07/03 par C.Josselin

# A copier/coller dans un éditeur de texte et modifier en fonction
# de vos périfs, config ... puis à nommer par exemple gravure.sh,
# sans oublier le .sh, et rendre executable.

# la 1ère fonction s'appelle gravure, pasque c facile à se rappeler :)
# en ouvrant un terminal et en tapant "gravure", on a donc la liste
# des fonctions et un aperçu sommaire de ce qu'elles font. chaque
# fonction est ensuite appelable par son nom. en tapant CPotf,
# par exemple, on lance une copie à la volée.

# modification :
# ces valeur sont à modifier en fonction de son système
# ATTENTION le lecteur est emule scsi
#Ad_Graveur="0,1,0"
#Ad_Lecteur="0,0,0"
#Device_Graveur="/dev/scd1"
#Montage_Lecteur="/mnt/cdrom"
#Montage_Graveur="/mnt/cdrom2"
#G_Speed="4"



gravure ()
 echo "
 CPotf = copie de CD à la volée
 CP = copie de CD
 EXT = extraction d'iso d'un CD
 GRaudio = gravure de CD audio
 GRdata = gravure de CD de données (fournir un chemin en parametre)
 GRmp3 = gravure de CD audio à partir de mp3 (fournir un chemin en 
parametre)
 GRogg = gravure de CD audio à partir d'ogg (fournir un chemin en parametre)
 GRmixte = gravure d'un CD mixte
 GRmulti = gravure d'un CD multisessions
 -GRmulti 1 -> 1ère session
 -GRmulti intN -> session intermédiaire de n° N
 -GRmulti fin -> dernière session
 BLall = effacement d'un CDRW
 MIdef = création d'une image iso simple
 MIjoliet = création d'une image iso joliet
 MIboot = création d'une image iso bootable
 " 

# copie de CD à la volée
CPotf ()
 cdrdao copy --device Ad_Graveur --Lecteur-device Ad_Lecteur --on-the-fly


# copie de CD
CP ()
 cdrdao copy --device Ad_Graveur --Lecteur-device Ad_Lecteur --buffers 64


# extraction d'iso d'un CD
# le cd doit être monté avant !!!!!!!!
EXT ()
 mkisofs -r -o cdimage.iso Montage_Lecteur


# gravure de CD audio
GRaudio ()
 cdrecord -v G_Speed dev=Ad_Graveur -audio -pad -dao $*


# gravure de CD de données
GRdata ()
 cdrecord -v dev=Ad_Graveur G_Speed -data -pad $*



# gravure de CD audio à partir de mp3
GRmp3 ()
 IFS=$(echo -e "\n")
 for i in *.mp3 ; do mpg321 -b 10000 --cdr "$(basename $i .mp3).cdr" "$i" ; 
done
 cdrecord -v dev=Ad_Graveur G_Speed -pad -dao -audio *.cdr
 rm -f *.cdr
 IFS=$(echo -e " \t\n")


# gravure de CD audio à partir d'ogg
GRogg () 
 IFS=$(echo -e "\n")
 for i in *.ogg ; do ogg123 -b 10000 -d wav -f "$(basename $i .ogg).wav" 
"$i" ; done
 cdrecord -v dev=Ad_Graveur G_Speed -pad -dao -audio *.wav
 rm -f *.wav
 IFS=$(echo -e " \t\n")
 

# gravure d'un CD mixte
GRmixte () 
 data=$1
 shift 1
 audio=$*
 cdrecord -v dev=Ad_Graveur G_Speed -pad -dao -data $data 
-audio $audio
 

# gravure d'un CD multisessions
#  -GRmulti 1    -> 1ère session
#  -GRmulti intN -> session intermédiaire de n° N
#  -GRmulti fin  -> dernière session
GRmulti () 
 case $1 in
 1)
 eject Montage_Graveur ; sleep 1 ; eject -t Montage_Lecteur
 mkisofs -R -o cdimage-1.iso $2
 cdrecord -v -multi -data G_Speed dev=Ad_Graveur cdimage-1.iso
  ;;
 int*)
 n=$1 :3
 eject Montage_Graveur ; sleep 1 ; eject -t Montage_Lecteur
 TRACK_INFO=$(cdrecord -msinfo dev=Ad_Graveur) mkisofs -R -C $TRACK_INFO -M 
Device_Lecteur -o cdimage-$n.iso $2
 cdrecord -v -multi -data G_Speed dev=Ad_Graveur cdimage-$n.iso
  ;;
 fin)
 eject Montage_Graveur ; sleep 1 ; eject -t Montage_Lecteur
 TRACK_INFO=$(cdrecord -msinfo dev=Ad_Graveur) mkisofs -R -C $TRACK_INFO -M 
Device_Lecteur -o cdimage-fin.iso $2
 cdrecord -v -data G_Speed dev=Ad_Graveur cdimage-fin.iso
  ;;
 esac
 

# effacement d'un CDRW
BLall () 
 cdrecord -v blank=all dev=Ad_Graveur speed=G_Speed
 

# création d'une image iso simple
MIdef () 
 mkisofs -R -o cdimage.iso $*
 

# création d'une image iso joliet
MIjoliet () 
 mkisofs -r -J -o cdimage.iso $*
 

# création d'une image iso bootable
MIboot () 
 mkisofs -r -J -v -c boot.cat -b images/boot.img -o $1 .






Et le résultat quand je le lance :

[EMAIL PROTECTED] Documents]$ bash ./gravure.sh
./gravure.sh: line 28: syntax error near unexpected token `echo'
./gravure.sh: line 28: ` echo "'

Si je commente la foction gravure(), le texte qui suit "echo" est bien 
affiché, puis bug sur la fonction suivante ;c((

Who can help me ;c)


-- 
Christophe Josselin
- Projet de lecteur multimédia libre et autonome :
     http://www.linux-france.org/prj/boxound/
- S'il vous plaît, ne m'envoyer pas de fichiers aux formats doc,xls
  mais plutôt au format rtf,pdf ou mieux openoffice
Voir http://www.fsf.org/philosophy/no-word-attachments.fr.html

Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";.

Foire Aux Questions de la liste : http://mdk.mondelinux.org

Répondre à