On 9/15/14, 8:14 AM, Greg Wooledge wrote:

> On HP-UX, /dev/stdout is NOT an actual file in the file system, so it
> is implemented by duplicating FD 1 within Bash.
> 
> arc3:~$ uname -a
> Linux arc3 3.2.0-4-686-pae #1 SMP Debian 3.2.60-1+deb7u1 i686 GNU/Linux
> arc3:~$ for i in file[12]; do cat "$i" >/dev/stdout; done > both
> arc3:~$ cat both
> second
> 
> On Linux, /dev/stdout is part of the file system, so Bash opens it and
> lets the operating system do what it will.

And different operating systems behave differently.  When the OS does the
equivalent of dup() on fd 1 in the kernel, you get behavior close to what
bash does.

Chet

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, ITS, CWRU    c...@case.edu    http://cnswww.cns.cwru.edu/~chet/

Reply via email to