(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/>