(Courriels de diversion: <fourvoye@rameutant-blesses.com> <decapiteriez@etires-arraisonneras.com> <erectiles@allaite-arrivais.com> <blesserent@claudicantes-reexporterais.com> <syndic@bourguignons-affinement.com> <detachions@depiler-traîneraient.com> <serviabilite@scander-redirigees.com> <rapetisses@acquis-empêcherai.com> <proscrivant@triomphalement-entrechoquent.com> <eventrer@trouvaient-emettais.com> )


>>>>> "kr" == Kevin Rowanet <kevin.rowanet@wanadoo.fr> writes:
  kr> et j'ai eu le message : « /bin/rm: liste d'arguments trop longue ».
  kr> 
  kr> Questions :
  kr> 1/ quelle est la limite et où est-elle définie ? (je suis sous bash, si 
  kr> la réponse dépend du shell)

  <URL:http://www.culte.org/listes/linux-31/2001-05/msg00198.html>

  Épatant ce qu'on retrouve dans les archives.
  

  kr> 2/ Comment contourne-t-on élégamment la difficulté ? Moi j'ai fait une 
  kr> boucle sur la première des deux lettres, ne faisant donc porter * que 
  kr> sur la 2eme.

  par exemple avec

     % find repertoire prefixe-nom -exec rm {} \;

  ou
  
     % find repertoire prefixe-nom* -print0 | xargs -0 rm

  la seconde solution ayant l'avantage de générer un plus petit nombre
  de processus fils (chercher "xargs" sur le site du CULTe donnera
  d'autres messages utiles, par exemple sur l'intérêt du -print0). 

   
  kr> Et dans un script, faut-il systématiquement tester la taille de la liste 
  kr> d'arguments avant de lancer une commande (ou intercepter l'erreur) ?

  il n'est généralement pas possible de le tester, puisque la commande
  qui permettrait de tester souffrirait du même problème. Il faut
  penser à utiliser des solutions à base de xargs à chaque fois qu'une
  commande pourrait comporter un grand nombre d'arguments. 
  
-- 
Eric Marsden                          <URL:http://www.laas.fr/~emarsden/>


--------------------------------------------------------------------
Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>