At 11:29 AM +1000 10/15/07, Cameron Simpson wrote: >On 14Oct2007 17:09, John Summerfield <debian@xxxxxxxxxxxxxxxxxxxxxx> wrote: >> Cameron Simpson wrote: >>> On 14Oct2007 14:39, I wrote: >>> | Please read scripts carefully if you're going to criticise. Criticism is >>> | welcome, if it's valid. >>> Sorry for my tone. I have a headache and didn't allow for it. >> >> I'm more concerned that your "facts" aren't. > >Oh, but they _are_! > >> It doesn't matter how one creates the commandline, there is a limit on its >> size. Here, I'm not concerned about side effects of bad characters such as >> & and ;. > >Sure, but in the code we're discussing: > > for m in subdir/*report* > >that limit is not hit. Why not? Because the limit only applies to exec() >calls. It is an OS interface limit. For loops take place entirely in >user space. There is no "command line" being constructed in the sense >you're thinking. ... Whaddayaknow. $ ls /*/*/*/*/* | wc bash: /bin/ls: Argument list too long 0 0 0 $ for n in /*/*/*/*/* ; do echo $n ; done | wc 211860 218203 7290275 $ -- ____________________________________________________________________ TonyN.:' <mailto:tonynelson@xxxxxxxxxxxxxxxxx> ' <http://www.georgeanelson.com/>