> On Sat, Oct 21, 2000 at 08:23:44AM +0200, Shaul Karl wrote:
> > > Also, seems that not many people are aware of "process substitution"
> > > in bash: you do something like "diff <(ls dir1) <(ls dir2)", and bash
> > > runs two ls's, each writing to a FIFO, and diff gets the names of
> > > these two FIFOs as parameters. Output redirection also works. I'm not
> > > sure how portable it is, though.
> > 
> >     1.
> > [08:05:37 /tmp]$ diff < (ls ~/setiathome/) <(ls ~/setiathome/amos/)
> > bash: syntax error near unexpected token `(l'
> > [08:06:04 /tmp]$ 
> > 
> > Ache, the space there is significant:
> > 
> > [08:17:12 /tmp]$ diff <(ls ~/setiathome/) <(ls ~/setiathome/amos/)
> 
> Yeah... Otherwise it's redirection.
> 




I am confused. Without the space it is not a redirection? Is there a 
difference between a FIFO and a redirection?



> 
> >     2.
> > This will only work if the "main" process (diff in this example) does not need 
> > to seek the input since it can not do it with a FIFO. Or am I missing 
> > something?
> 
> True... You can't. It would've been nice if Bash had the option to use
> temporary files rather than FIFOs... But I don't know if it's needed
> that often.
> 
> Just tried: both nvi and vim cope fine, Emacs refuses to read it (at
> least with default setup and switches). Less requires you to use -f. 
> 
> 
>       - Adi Stav
> 
> =================================================================
> To unsubscribe, send mail to [EMAIL PROTECTED] with
> the word "unsubscribe" in the message body, e.g., run the command
> echo unsubscribe | mail [EMAIL PROTECTED]
> 

-- 
        
        Shaul Karl <[EMAIL PROTECTED]>



=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to