[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [OT] Collective memory query



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(peter@cor , 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



Reply to: