私はexecの一部に答えることができます与えられたコマンドなし
幹部は、I/Oリダイレクションを変更するために使用することができます。 <>はこの場合、読み取り+書き込みのためのオープンを意味します。 5はチャネル番号(またはファイル記述子)です。 "/ dev/tcp/$ {SERVER}/$ {PORT}"の場合は、特定のコマンドの機能であるかどうかわかりません。 Linuxのバージョンか、それともbashの機能か(私は後者を想定しています)。
- EDIT:bashのマニュアルページから: -
Bash handles several filenames specially when they are used
in redirections, as described in the following table:
/dev/fd/fd
If fd is a valid integer, file descriptor fd is
duplicated.
/dev/stdin
File descriptor 0 is duplicated.
/dev/stdout
File descriptor 1 is duplicated.
/dev/stderr
File descriptor 2 is duplicated.
/dev/tcp/host/port
If host is a valid hostname or Internet address,
and port is an integer port number or service
name, bash attempts to open a TCP connection to
the corresponding socket.
/dev/udp/host/port
If host is a valid hostname or Internet address,
and port is an integer port number or service
name, bash attempts to open a UDP connection to
the corresponding socket.
出典
2011-10-14 08:44:10
ktf
この回答への重要な注意点があります。bashは、/ bashが構築されたときにそれが有効になっている場合にのみ、 "/ dev/tcp" * if *サポートを尊重します。特に、Red Hatはそれを有効にしたままbashをビルドしていますが、Debianは(あるいは、少なくとも私がチェックしたのは、以前はなかった)これがすべてのシェルでもすべてのbashでも動作するとは思わないでください。 –
@WilliamPursell合意しました! – trojanfoe