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/