Yanıtlar:
Bu, işletim sisteminin değil, kabuğun bir özelliğidir .
Örneğin, Solaris 10'da ksh88
kabuk olarak:
% cat < /dev/tcp/localhost/22
ksh: /dev/tcp/localhost/22: cannot open
Ancak şu duruma geçersek bash
:
% bash
bash-3.2$ cat < /dev/tcp/localhost/22
SSH-2.0-Sun_SSH_1.1.5
Yani bash
yorumluyor /dev/tcp
ama ksh88 olmadı.
Solaris 11'de ksh93
kabuk olarak:
% cat < /dev/tcp/localhost/22
SSH-2.0-Sun_SSH_2.2
Bu yüzden kullanılan kabuğa çok bağlı olduğunu görebiliriz.
/dev/tcp/...
(bunlardan biri olmasa da).
Eklemek için Bash Info düğümünden :
Bash, aşağıdaki tabloda açıklandığı gibi, yönlendirmelerde kullanıldıklarında çeşitli dosya adlarını özel olarak işler. Bash'in üzerinde çalıştığı işletim sistemi bu özel dosyaları sağlıyorsa, bash bunları kullanır; aksi takdirde bunları aşağıda açıklanan davranışla dahili olarak taklit eder.
'/ dev / fd / FD' FD geçerli bir tamsayı ise, dosya tanımlayıcı FD çoğaltılır.
'/ dev / stdin' Dosya tanımlayıcı 0 kopyalandı.
'/ dev / stdout' Dosya tanımlayıcı 1 kopyalandı.
'/ dev / stderr' Dosya tanımlayıcı 2 çoğaltılır.
'/ dev / tcp / HOST / PORT' HOST geçerli bir ana bilgisayar adı veya Internet adresiyse ve PORT bir tamsayı bağlantı noktası numarası veya hizmet adı ise, Bash karşılık gelen TCP soketini açmaya çalışır.
'/ dev / udp / HOST / PORT' HOST geçerli bir ana bilgisayar adı veya Internet adresi ve PORT bir tamsayı bağlantı noktası numarası veya hizmet adı ise, Bash karşılık gelen UDP soketini açmaya çalışır.