問題は非常に具体的ですが、失敗の条件を把握しました。
システム:Linux3.16.0-4-686-pae#1 SMP Debian3.16.43-2 + deb8u2(2017-06-26)i686 GNU / Linux
次の一連のコマンドを実行すると:
socat -,raw,echo=0,escape=0x18,nonblock tcp:192.168.1.111:23
nano somefile
bashバイナリ4.3.30をコンパイルされた4.4.0 に置き換えると、すべてが機能し、nanoエラーメッセージが表示されて失敗します。
Received SIGHUP or SIGTERM
の別のインスタンスを起動しない限り、これは消えませんbash。この問題は、上に存在Ubuntuし、Kaliそれが持っているbashネイティブ4.4.0。私socatは、サブシェルで、スクリプトで実行しstty sane、その後に実行し、エスケープ文字や他の多くのことを変更しようとしましたが、役に立ちませんでした。ただし、のnonblock古いバージョンを削除または使用bashすると、問題が修正されます(ただし、4.4およびnonblockスイッチのバグ修正に依存しています)。私はこれをバグだと信じておりbash、ハイブの心に何か提案があるかどうかを確認したい(バグを報告する以外)。