O / dev / {udp, tcp} é padronizado ou está disponível em todos os lugares?

11

Aprendi recentemente sobre os% pseudo-dispositivos /dev/udp e /dev/tcp aqui . Eles são específicos para algumas distribuições GNU / Linux ou posso encontrá-los em outros sistemas unix?

Eles são padronizados de alguma forma?

Até agora, consegui usá-los com sucesso no OS X, no Arch Linux e no CentOS.

    
por Antoine 20.09.2016 / 14:33

1 resposta

19

Este é um recurso do shell e não do sistema operacional.

Assim, por exemplo, no Solaris 10 com ksh88 como o shell:

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

No entanto, se mudarmos para bash :

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

Então, bash interpreta o /dev/tcp , mas o ksh88 não.

No Solaris 11 com ksh93 como o shell:

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

Então, podemos ver que é muito dependente do shell em uso.

    
por 20.09.2016 / 14:37