On Wed, Sep 29, 2004 at 10:08:28PM +0200, Adrian 'Dagurashibanipal' von Bidder wrote: > On Tuesday 28 September 2004 15.49, Bartosz Fenski aka fEnIo wrote: > > On Mon, Sep 27, 2004 at 06:38:03PM +0200, Adrian 'Dagurashibanipal' von > Bidder wrote: > > > > for foo in `find . -name "something"` > > > > > > Note that > > > $ for foo in `command outputting a list of filenames` > > > > > > should *always* be replaced by > > > > > > $ said command | while read foo; do ... > [...] > > So what is the magic barrier when this should stop working? > > I'm just curious. > > > Hmm. I can't comment on that specifically, for current versions of some > shells. I know I have seen 'command line too long' messages in the past > when using `find ...` constructs, and I bet that on busybox based resscue > disks and other restricted shells this topic will still be relevant.
The "line too long" limit applies when trying to execve(2) anything. There's a limit there. For shell built-ins, there doesn't have to be a limit, but as you point out, busybox might have one. > In any case, using the while loop will pipeline the operations so you get > full benefit from multitasking. Yeah, that's an elegant idiom. I'll have to remember to use it in the future. :) -- #define X(x,y) x##y Peter Cordes ; e-mail: X([EMAIL PROTECTED] , des.ca) "The gods confound the man who first found out how to distinguish the hours! Confound him, too, who in this place set up a sundial, to cut and hack my day so wretchedly into small pieces!" -- Plautus, 200 BC -- To UNSUBSCRIBE, email to [EMAIL PROTECTED] with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]