
標準入力(Telnetなど)を許可する対話型端末プログラムがあります。
対話する前に、次のような入力を送信したいと思います。
echo "Hello" | telnet somewhere 123
しかし、これはHello
Telnetを送信して終了するだけです。 Telnetをアクティブに保ち、入力をTelnetにルーティングするにはどうすればよいですか?
答え1
一度起動すると、TelnetのSTDINがバインドされることを変更することはできませんが、単純なエコーを複数のタスクを実行することに置き換えることができ、2番目のタスクを「ユーザー入力をターゲットにコピー」に設定できます。
{ echo "hello"; cat; } | telnet somewhere 123
もちろん、catをユーザーからコピーしてTelnetに送信するものに置き換えることもできます。
これはまだプロセスに入力するのとは異なることに注意してください。 TTY / PTYではなくSTDINにパイプしたため、Telnetは入力したパスワードを隠すことはできません。