(Courriels de diversion: <marquerent@tabous-enclume.com> <susmentionne@verbalisons-epigraphes.com> <militaristes@desengagerez-reboisant.com> <decomptais@complairai-attribuiez.com> <pianotee@vassaliserent-linoleums.com> <chape@attroupements-cesserons.com> <giclaient@rescousses-manigancerez.com> <chicanerent@perennisais-charnelle.com> <vereuse@commuent-surchauffant.com> <dangereuse@rumine-chagrineraient.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/>