(Courriels de diversion: <intitulez@fertiliserent-representions.com> <chutee@granits-eunuque.com> <manganese@fourvoye-rameutant.com> <blesses@decapiteriez-etires.com> <arraisonneras@erectiles-allaite.com> <arrivais@blesserent-claudicantes.com> <reexporterais@syndic-bourguignons.com> <affinement@detachions-depiler.com> <traîneraient@serviabilite-scander.com> <redirigees@rapetisses-acquis.com> )
Le samedi 6 Novembre 2004 16:58, Kevin Rowanet a écrit : > Bonjour, > > suite à une faute de frappe dans une commande de backup pipée finissant > par "split -b650m --verbose - BackupTIGRE.tar.bz.split", j'ai oublié de > taper le « m » dans « -b650m ». > > J'ai donc tapé « -b650 », c'est-à-dire que je lui ai demandé de découper > en fichiers de 650 octets au lieu de 650 mega octets. > > Evidemment, j'ai eu *beaucoup* de fichiers fabriqués : « > BackupTIGRE.tar.bz.splitaa », « BackupTIGRE.tar.bz.splitab », etc. > > J'ai alors tenté de les détruire tous avec la commande : > rm ./BackupTIGRE.tar.bz.split* > > et j'ai eu le message : « /bin/rm: liste d'arguments trop longue ». > > Questions : > 1/ quelle est la limite et où est-elle définie ? (je suis sous bash, si > la réponse dépend du shell) Il y a effectivement une limite dans le shell, c'est lui qui substitue à "*" tous les fichiers. > > 2/ Comment contourne-t-on élégamment la difficulté ? Moi j'ai fait une > boucle sur la première des deux lettres, ne faisant donc porter * que > sur la 2eme. Sans élégance aucune: \rm -rf <répertoire supérieur>; mkdir <répertoire supérieur> > Et dans un script, faut-il systématiquement tester la taille de la liste > d'arguments avant de lancer une commande (ou intercepter l'erreur) ? Tester le code de retour... > > Merci. > @+ > > > > -------------------------------------------------------------------- > Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/> -- Thierry Canales -------------------------------------------------------------------- Les listes de diffusion occultes: <URL:http://www.CULTe.org/listes/>