Re: [Résolu]: Re: [CBLX] Bash: traiter des noms avec espaces... |
[ Thread Index |
Date Index
| More lists.tuxfamily.org/carrefourblinux Archives
]
Le mardi 29 avril à 14:51, Aldo a écrit :
> Salut Phil,
>
> ta méthode elle a parcontre bien fonctionné; voici plus bas:
>
> On Sun, Apr 27, 2014 at 04:26:01PM +0200, Philippe Delavalade wrote:
> >
> > Salut Aldo.
> >
> > Utilise la variable IFS
> > avec en début de script :
> > oldifs=$IFS # on garde en mépoire la valeur par défaut
> > IFS=$(echo -ne "\n\b") # on définit une nouvelle valeur
>
> J'ai prédéfinit cela avant la fonction, qui de toute façon est appelée plus
> bas, avant le exit (c'est un peu la coutume de prédéfinir toute fonction en
> haut/en début de script, ainsi que la plupart du temps les variables;
> ensutie la fin du script est la succession en quelques ligne de ce qu iest
> "appelé"!
>
> > puis en fin de script tu rends la valeur initiale :
> >
> > IFS=$oldifs
>
> J'ai mis cela dans la toute dernière ligne de la fonction, avant que ça ne
> resorte de la fonction.
>
> > J'utilise beaucoup ça, donc je peux te dire que ça marche très bien
> Je confirme;
> voici le scrip modifié:
>
> #!/bin/bash
> # All FLAC to MP3 (3)
> oldifs=$IFS
> IFS=$(echo -ne "\n\b")
>
> function allflactomp3 ()
> {
> clear
> for i in `ls *.flac`
> do
> mplayer -vo null -ao pcm:file=$i.wav $i
> lame -b 320 -h $i.wav $i.mp3
> done
> #for i in *.wav.mp3; do mv "$i" "${i/%.wav.mp3/.mp3}"; done
> ls -mpF *.mp3 |more
> IFS=$oldifs
> }
> allflactomp3
> exit
> ## fin du script ##
Je n'aime pas ça :-) Je mettrais la ligne
IFS=$oldifs
juste avant le exit. De plus, les recommandations de Dom et d'Emmanuel sur
le fait de quoter les variables est de toute manière fort judicieux et
c'est recommandé un peu partout.
À+
--
Ph. Delavalade
--
CarrefourBLinuX MailingListe
Pour obtenir de l'aide, envoyez le sujet help à:
carrefourblinux-request@xxxxxxxxxxxxxxxxxxx
Archives:
http://listengine.tuxfamily.org/lists.tuxfamily.org/carrefourblinux