norbert.meissner(at)daimlerchrysler.com wrote:
> >for file in `find . -name whatever*` ; do
>
> Hm, diese Loesung kann funktionieren, muss aber
> nicht. Man sollte im Auge behalten, das das was
> zwischen den Graves steht, von der Shell expandiert
> wird.
Jein. "for" ist kein Befehl, sondern Shell-Metasyntax bzw.
built-in, und daher ist es von ARG_MAX nicht betroffen,
denn die Shell muß ja kein exec() machen. Obiges Kommando
sollte daher funktionieren (sofern man keine kaputte Shell
verwendet, die da noch ihre eigenen Limits mitbringt).
Zumindest haben weder zsh noch csh/tcsh oder »unsere« sh
ein solches Limit (außer natürlich verfügbarer Gesamtspei-
cher).
> Bei 10000 Dateien funktioniert das nicht mehr.
Doch. Probier's aus. Such Dir ein Verzeichnis, wo sich
die Länge aller Dateinamen zu mehr als ARG_MAX aufsummiert.
$ pwd
/home/olli
$ ls -R | wc
10700 10934 185732
$ echo "`ls -R`" | wc
10700 10934 185732
$ /bin/echo "`ls -R`" | wc
/bin/echo: argument list too long
Ich würde das vorgeschlagene Kommando allerdings aus ande-
ren Gründen nicht in dieser Form verwenden.
Gruß
Olli
-- Oliver Fromme, secnetix GmbH & Co KG, Oettingenstr. 2, 80538 München Any opinions expressed in this message may be personal to the author and may not necessarily reflect the opinions of secnetix in any way. "All that we see or seem is just a dream within a dream" (E. A. Poe) To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org with "unsubscribe de-bsd-questions" in the body of the messageReceived on Fri 20 Jul 2001 - 19:38:32 CEST