Are /dev/{udp,tcp} standardized or available everywhere

devicesportabilitytcpudp

I've recently learned about the /dev/udp and /dev/tcp pseudo-devices here. Are they specific to some GNU/Linux distributions or can I find them on other unix systems?

Are they standardized in some way?

So far, I've been able to use them successfuly on OS X, Arch Linux and CentOS.

Best Answer

This is a feature of the shell and not the operating system.

So, for example,on Solaris 10 with ksh88 as the shell:

% cat < /dev/tcp/localhost/22
ksh: /dev/tcp/localhost/22: cannot open

However if we switch to bash:

% bash
bash-3.2$ cat < /dev/tcp/localhost/22
SSH-2.0-Sun_SSH_1.1.5

So bash interprets the /dev/tcp but ksh88 didn't.

On Solaris 11 with ksh93 as the shell:

% cat < /dev/tcp/localhost/22
SSH-2.0-Sun_SSH_2.2

So we can see it's very dependent on the shell in use.

Related Question