#1 Le 29/09/2009, à 06:04
- jotelecom
[Resolu] Bash : où est ma faute?
Bonjour,
J'essaye de faire un petit script bash pour automatiser une tâche. Avant de compléter mon script avec les bonnes commandes, j'ai voulu faire un petit essai avec des echo, mais ça ne marche pas et je ne comprends pas pourquoi
Le script suivant est censé parcourir tous les fichiers ".flv" du dossier courant, et pour chaque fichier, déterminer si celui-ci possède un homonyme dans le dossier "./MP3/"
LIST="$(ls *.flv)"
for i in "$LIST"; do
newName=${i//_/ }
newName=${newName//-/ - }
newName=${newName/%.flv/}
fileName="./MP3/$newName.mp3"
if [ -f "$fileName" ]; then
echo "File $i has already been converted."
else
echo "File $i hasn't been converted yet."
fi
done
Le résultat retourné est étrange, c'est comme si la boucle for rentrait dans la branche du if.. enfin c'est bizarre
File Berry-Le_Bonheur.flv
Buridane-Pas_fragile.flv
Cascada-Truly_Madly_Deeply.flv
Dario_Marianelli-Dawn.flv
Dire_Straits-Going_Home.flv
Eva_Cassidy-Kathy's_Song.flv
I_Monster-Heaven.flv
Joshua_Radin-Winter.flv
Nat_King_Cole-LOVE.flv
Rise-Drop_the_hat.flv
Seven_Seconds_Away.flv
The_corrs-Only_when_I_sleep.flv hasn't been converted yet.
Edit :
En fait, c'est idiot, il suffit d'enlever les quotes dans le for ("$LIST" -> $LIST)...
C'est résolu, peut-être que ça pourra servir à qqun d'autre ?
Dernière modification par jotelecom (Le 29/09/2009, à 06:31)
Terminux ( - John' - )
Débutants : bases, personnalisation et troubleshooting -> http://forum.ubuntu-fr.org/viewtopic.php?id=322271
Hors ligne