Re: Échapper des espaces dans une variable bash

Top Page

Reply to this message
Author: vincent+ml.guilde
Date:  
To: guilde
Subject: Re: Échapper des espaces dans une variable bash
Le 07/10/2011 00:12, Vincent Caron a écrit :
> On Thu, 2011-10-06 at 20:29 +0200, Pierre Louis Aublin wrote:
>> cd "$AA"
>
> Et donc par extension :
>
> var="$(ls)"


Rock'n'Roll!
Ce qui est bien quand on utilise ls pour définir une variable, c'est que
ça peut marcher. Et ça peut exploser de façon très spectaculaire, avec
beaucoup de dommages collatéraux.

Utiliser plutôt quelque chose de la forme :
for file in *
do
    echo "$file"
    blabla
done


le for va découper proprement au niveau en conservant le snoms de
fichiers contenant des espaces, des caractères spéciaux…

Cf. http://mywiki.wooledge.org/BashPitfalls
--
Vincent Riquer

http://vincent.riquer.fr/blog/