On 2018-12-16 21:28, Corinna Vinschen wrote: > On Dec 16 17:31, Houder wrote: >> L.S., >> >> /dev/fd/N not synonymous with file descriptor N; it is on Linux > > Yes, it is. Most of the time. Try this: > > $ echo foo | cat /dev/fd/0 > > The problem is that some of the concepts don't work as desired: > >> 64-@@ cat /dev/fd/0 <<\EOF > > If you observe what happens in tcsh in this situation you see that it > doesn't even execute cat as long as you didn't type EOF. What you type > is written to a tmpfile: > > $ ls -l /proc/5980/fd > total 0 > lrwxrwxrwx 1 corinna vinschen 0 Dec 16 21:15 0 -> /tmp/sh.lVQq04 > lrwxrwxrwx 1 corinna vinschen 0 Dec 16 21:15 15 -> /dev/pty0 > lrwxrwxrwx 1 corinna vinschen 0 Dec 16 21:15 16 -> /dev/pty0 > lrwxrwxrwx 1 corinna vinschen 0 Dec 16 21:15 17 -> /dev/pty0 > lrwxrwxrwx 1 corinna vinschen 0 Dec 16 21:15 18 -> /dev/pty0 > lrwxrwxrwx 1 corinna vinschen 0 Dec 16 21:15 19 -> /dev/pty0 > > However, this tmpfile has been unlinked already, so it has been moved > to the > recycle bin: > > $ ls -l /tmp/sh.lVQq04 > ls: /tmp/sh.lVQq04: No such file or directory > > So the path in the fd subdir doesn't reflect the actual file path. > > But after starting cat, cat tries to open /proc/self/fd/0 which > is in fact the non-existing path /tmp/sh.lVQq04. Bad luck. Yes Corinna, I am aware of the above. I described it here: https://cygwin.com/ml/cygwin/2018-12/msg00040.html ( Re: Bash heredoc on FD 3 ) Sorry for NOT expressing myself more clearly. The STC is, as I wrote, based on what I observed on Linux. See attachment. Regards, Henri