Greg Wooledge wrote:
> It's important to note that the following two cases are *not*
> equivalent:
> 
>    cat "$i" >/dev/stdout
>    program -i "$i" -o /dev/stdout
> 
> In the first case, the /dev/stdout is part of a redirection.  On
> platforms that do not have a native /dev/stdout in the file system,
> Bash handles this *internally* (and it would actually work the way
> you expected).
> 
> In the second case, /dev/stdout is just a string as far as Bash is
> concerned.  It is passed verbatim to "program" as an argument.  There is
> no internal Bash magic happening.  You get the underlying operating
> system implementation, or you get "no such file or directory".

That is one of the reasons I don't like the /dev/std{err,in,out}
things.  They are not portable.  They do different things on different
systems.  I avoid them.

Bob

Reply via email to