Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 29/09/2009, à 07: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 sad

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, à 07:31)


Terminux ( - John' - )
Débutants : bases, personnalisation et troubleshooting -> http://forum.ubuntu-fr.org/viewtopic.php?id=322271

Hors ligne