Re: Échapper des espaces dans une variable bash

トップ ページ

このメッセージに返信
著者: vincent+ml.guilde
日付:  
To: guilde
題目: 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/