erreur dans boucle while

bayrouni bayrouni at brutele.be
Sun Dec 16 12:19:18 CET 2007


Bonjour à tous,
Après une abscence relativement longue me revoilà encore une fois .

Aujourd'hui, je m'adresse à vous pour un problème que je n'arrive pas à
résoudre et qui m'a empêché de dormir la nuit dernière.

Sur la ligne de commande dans un terminal, j'execute:
i=0; infostr=(); while read line; do infostr[i++]="$line"; echo "$line";
done < <(cddb.pl -I cddb query $(cd-discid /dev/cdrom)); echo
"${infostr[0]}"
Celà m'affiche 16 lignes contenant des informations sur mon cd audio,
dont notemment les titres (les chansons)

category: misc
cddbid: bd0c0f10
trackno: 16
track 1: Les Flamands
track 2: La Valse A Milie Temps
track 3: Jacky
track 4: La Chanson Des Vieux Amants
track 5: Ne Me Quitte Pas
etc ...
track 16: Le Moribond

Le problème apparaît à partir du moment ou je mets ce code dans un
script bash que j'appelle cdripper.sh,
j'ai alors cette erreur:
cdripper.sh: line 56: syntax error near unexpected token `<'
cdripper.sh: line 56: ` while read line; do infostr[i++]="$line"; echo
"$line"; done < <(cddb.pl -I cddb query $(cd-discid /dev/cdrom)); echo
"${infostr[0]}"'

J'utilise GNU bash, version 3.2.25(1)-release (x86_64-unknown-linux-gnu)

Le but est de mettre chaque ligne retourné par cddb.pl -I cddb query
$(cd-discid /dev/cdrom)  dans un élément du tableau infostr en dehors de
la boucle (après la boucle)
(encodage ogg avec des tags).

Bien entendu, il y a des logiciels super beaux et super facils pour
faire cette tâche, mais comme vous l'aurez compris, ce n'est pas mon but.

Je vous remercie d'avoir été patient et de m'avoir lu jusqu'à la fin
pour une question de bash .
en fait j'ai lu la definition que vous donnez au bash  dans le wiki  :)

Al Bayrouni







More information about the Shell mailing list