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

Laurent PERTOIS laurent_pertois at mac.com
Ven 4 Avr 01:57:23 CEST 2008


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




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