[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