Bonsoir à tous

Le Samedi 12 Juillet 2003 16:29, j'ai moi-même écrit :

> Dans un précédent message, je demandais comment faire, en ligne de
> commande ou dans un script, pour copier les répertoires et fichiers
> cachés de mon compte personnel, et ceux-là seulement.
>
> A cette question, Godwin Stewart a apporté une réponse qui fonctionne
> parfaitement en ligne de commande:
>
> cd ~
> ls -a1d .* --color=none | \
> ( while read fn; do [ "$fn" != "./" ] && [ "$fn" != "../" ] && cp -a
> "$fn" tmp; done )
>
> mais toutes mes tentatives pour l'utiliser dans un script ont échoué:
> le shell n'en tient aucun compte et copie indistinctement tous les
> répertoires et fichiers, cachés ou non.

J'ai fini par trouver pourquoi: le résultat de: 
  ls -a1d .* --color=none
n'est pas le même selon qu'il s'agit d'une commande passée dans une 
console ou d'une commande faisant partie d'un script. Dans le premier 
cas, les noms de répertoires trouvés se terminent par un slash; tandis 
que pour obtenir la même chose dans un script, il faut ajouter l'option 
-F :
  ls -a1dF .* --color=none

Quant à savoir pourquoi cette différence...

G.L.

-- 
_____________________________________________
>   Georges Louge - Juan-les-Pins (France)  <
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ 

Linux-Azur :      http://www.linux-azur.org
Désinscriptions: http://www.linux-azur.org/liste.php3
**** Pas de message au format HTML, SVP ****

Répondre à