次のコマンドを使用してTCPソケットで送受信します。
exec 3<>/dev/tcp/localhost/port
echo -e "textcommand\r" >&3
cat <&3
exec 3<&-;exec 3>&-
cat <&3行は端末のlocalhostからの応答を示しますが、コマンドラインに戻るにはCtrl + dまたはCtrl + cを使用する必要があります。キーボードの対話なしでlocalhostの応答をどのように印刷してコマンドラインに戻すことができますか?
編集する
(echo -en "textcommand\r"; sleep 1) | telnet localhost port
上記の代替案として。ここで見つける:https://stackoverflow.com/a/24204924/5900282
編集2
ここにも同様の質問があります。Bash /dev/tcp ファイル記述子を介して Fluke 1620a からデータをキャプチャ
ベストアンサー1
使用timeout
:
exec 3<>/dev/tcp/localhost/port
echo -e "textcommand\r" >&3
timeout 0.2 cat <&3
exec 3<&-; exec 3>&-