ucspi-tcpパッケージでtcpclientを使用するのは混乱しています。
私はUbuntuを使用しており、次のようにucspi-tcpをインストールしました。
apt install ucspi-tcp
その後、tcpserverを起動しました。
tcpserver localhost 10000 tee -a /tmp/test
tcpserverが起動した後、tcpclientを使用してメッセージを送信しようとしています。
tcpclient localhost 10000 echo "hello, JOJO" >&7
tcpclientのマンページによると、出力をfd 7にリダイレクトする必要があると思いました。
tcpclient は TCP サーバーに接続しようとします。成功すれば、ネットワークから記述子6を読み、記述子7をネットワークに書き込んでprogを実行する。
しかし、私はこれを得ます:
bash: 7: Bad file descriptor
メッセージを送信するためにtcpclientコマンドを変更する方法は?答えありがとうございます^^
ところで
私がnc
使うなら
clay@CVN76:~$ nc localhost 10000
hello, JOJO
hello, JOJO
文書内容テスト期待どおりに動作します。
答え1
tcpclient
ファイル記述子の設定実行時。呼び出しシェルからリダイレクトを試みますtcpclient
。今後 tcpclient
もちろん逃げても無駄だろ。これらのシェルリダイレクトを実行すると、ファイル記述子#7は開かれません。
パッケージのfinger@
、date@
およびスクリプトを確認してくださいhttp@
。チェーンをa(nother)にロードするwho@
方法に注意してください。tcpclient
sh
それからシェルリダイレクトを実行します。