[Admin-ml] Oh la bash... nom de fichier avec espace !

Fabrice Vincent f.vincent at allibert-trekking.com
Ven 4 Avr 14:09:26 CEST 2008


En fait, le problème c'est que bash n'interprète pas les caractère joker
comme * quand ils se trouvent à l'intérieur d'une variable.
Apparemment il a tendance à mettre entre guillemets simple les caractère
spéciaux afin d'éviter leur interprétation.
NB: Si tu fait un 'set -x' en début de script tu verras le tête des
arguments que bash fourni à la commande. Ça aide bien a débugguer...

A+
Fabrice


> De : Jean-Pierre Bouville <jpblcm at jpblcm.com>
> Répondre à : Administrateurs Systèmes sur Mac OS X <admin-ml at mosx.org>
> Date : Fri, 4 Apr 2008 03:16:01 +0200
> À : Administrateurs Systèmes sur Mac OS X <admin-ml at mosx.org>
> Objet : Re: [Admin-ml] Oh la bash... nom de fichier avec espace !
> 
> ah
> étrange, car chez moi, cela me donne deux erreurs, une par morceau
> avant et après l'espace... bizarre.
> En fait, j'utilise déjà dans ce script plusieurs lignes avec de
> multiples /*/ et cela ne pose aucun problèmes, genre vidage des
> caches de plusieurs navigateurs, historiques, poubelles... de plus de
> 200 users.
> Peut être la combinaison de tout ça...
> 
> Le 4 avr. 2008 à 1:57, Laurent PERTOIS a écrit :
> 
>> On 2 avr. 08, at 17:17, Jean-Pierre Bouville wrote:
>> 
>> Hello
>> 
>>> J'avoue ne plus me souvenir comment gérer les chemins avec espaces
>>> dans les noms de fichiers dans un script bash
>>> 
>>> Du genre :
>>> 
>>> rm -r -v /*/application support/cache/*
>>> 
>>> vu que le /application\ support/
>>> et que le
>>> chemin="application support"
>>> rm -r -v /*/"$chemin"/cache/*
>>> 
>>> ne fonctionnent pas plus l'un que l'autre.
>> 
>> 
>> Euh, je viens de faire le test :
>> 
>> #!/bin/sh
>> 
>> chemin="dossier test"
>> 
>> rm -r -v ./"$chemin"/
>> 
>> et il efface bien un dossier "dossier test" spécialement créé pour
>> le test.
>> 
>> Par contre, ce qui ne va pas fonctionner dans ta commande ce serait
>> plutôt le "/*/", je ne suis pas certain que rm apprécie tous ces
>> éléments d'un coup, perso je ferais une boucle pour les traîter un
>> par un (mais je ne suis pas un warrior des scripts shell, faut pas
>> croire).
>> 
>> Sinon, oui, le coup du "IFS" est une bonne base également, mais ça
>> n'empêche pas que ce que je mentionne juste au-dessus ne me paraît
>> pas catholique en matière d'écriture.
>> 
>> Mes deux cents,
>> 
>> -- 
>> 29. My leave starts tomorrow.
>> 101 Things You Do Not Want Your System Administrator To Say
>> 
>> 
>> _______________________________________________
>> Admin-ml mailing list
>> Admin-ml at mosx.org
>> http://coruscant.mosx.org/mailman/listinfo/admin-ml
>> 
> 
> _______________________________________________
> Admin-ml mailing list
> Admin-ml at mosx.org
> http://coruscant.mosx.org/mailman/listinfo/admin-ml





Plus d'informations sur la liste de diffusion Admin-ml