1

こんにちは私はコピーコマンドをリッスンする小さなプログラムを作成したいと思います。コピーされたコンテンツは後でbashで取得できます。シェルをインタラクティブに保ちながら、キーストロークを聞くことは可能ですか?そして、どうすればこれを建築的に行うことができますか。プログラム全体は、それをどのように実行できるかについてのヒントだけでなくてもかまいません。スクリプト言語またはmabyc++で実装する必要があることを除いて、言語に関しては私は好みがありません。

おそらく、これはシェル拡張または何かのように書く必要があります。ヒントだけで十分です。

4

1 に答える 1

1

scriptプログラムの動作方法を検討してください(を参照man script)。私はしばらくこれをしていませんが、基本的には疑似端末をCで記述し、それをストリームにプッシュしてから、シェルを起動します。

tcgetattr / tcsetattr、grantpt、unlockpt、およびptsnameを参照してください。ptem、ldterm、および場合によってはttcompatをioctlを使用してプッシュします。

より簡単ですが、効率は劣りますがscript、パイプにぶつかって出力をキャプチャすることです。おそらくバッファをフラッシュする必要がありますscript -f(-fはGNUバージョンのみにあると思います)。

于 2012-10-04T11:50:20.437 に答える