An answer I gave to a question, and the comments to it, had me read the POSIX Conformance section of the Base Definitions to figure out whether /dev/stdin
, /dev/stdout
and /dev/stderr
were actually needed for conformance to the POSIX standard.
It turns out they are not:
The system may provide non-standard extensions. These are features not required by POSIX.1-2008 and may include, but are not limited to: [...] Additional character special files with special properties (for example,
/dev/stdin
,/dev/stdout
, and/dev/stderr
)
As far as I can find, this is the only mentioning of these files in the standard.
I have access to only one "system" (environment, really) which does not implement them, and that's MinGW on Windows (no /dev
at all as far as I can see). As far as I know, all the free Unices have them, and so does Cygwin, Windows' new Linux environment and Darwin/macOS.
I'm not well versed with the commercial Unices though.
Is there a POSIX system, Unix, or a Unix-like environment of some description, alive today, that does not implement /dev/stdin
, /dev/stdout
, and /dev/stderr
as files in the filesystem?
/dev/std{in,out,err}
files rather than the availability of the/dev/fd
and/proc
hierarchies. – Kusalananda Jan 21 '17 at 18:08