15

適切なキーワードがわからないため、これをグーグルで検索するのにも苦労しています。一部のコマンドライン アプリ (vi や less など) は、コンソール画面全体を占有し、対話型のインターフェイスをユーザーに提供します。このようなアプリを終了すると、画面はアプリを起動する前の状態に戻ります。このように振る舞うプログラムを書きたいのですが、これが何と呼ばれているのかもわからないので、それがどのように達成されたかについてのドキュメントを見つけることができません。

だから、私の質問は3つあります:

  1. これに関するドキュメントを検索するには、どのキーワードを使用できますか?
  2. そうしたい場合は、そのようなドキュメントへのリンクが役立ちます。
  3. 最後に、Ruby や bash などのスクリプト言語でこれを実現できますか? 私は C に問題はありませんが、私が働いている環境はインタープリター言語の方が使いやすいです。
4

3 に答える 3

7

いくつかのコメントで述べたように、ncurses を探しています。Linux ドキュメンテーション プロジェクトには、C の ncurses に関する非常に優れた HOWTO があり、私はそれを使って始めました。

https://tldp.org/HOWTO/NCURSES-プログラミング-HOWTO/

于 2013-01-08T18:12:47.073 に答える
4

あなたが説明している機能は代替スクリーンバッファです。[N]Curses はデフォルトでこれを有効にすると思います。Ruby、Python、およびその他のスクリプト言語用の curses バインディングは確かに存在します。

于 2013-01-08T18:12:34.250 に答える
2

tput プログラムを使用して、bash で ncurses にアクセスすることもできます。ncurses ライブラリ全体 (以前の curses と同様) は、端末にエスケープ シーケンスを送信することによって機能します。xterm プログラムは vt100 端末 (および Tektronic 端末) をエミュレートし、カーソルを移動したり、画面をクリアしたり、さまざまな文字を描画したりするさまざまな文字の組み合わせがありました。これらは通常、エスケープ文字で始まるため、エスケープという名前が付けられました。順序。また、エスケープ文字を提供する \e を使用して、人々の PS1 シェル変数でこれらのエスケープ シーケンスを目にすることもあります。プロンプトの色付けやウィンドウ タイトルの設定によく使用されます。

tput は terminfo データベースを参照して、要求された機能を実行するためのエスケープ シーケンスを特定します。

マニュアルページを参照して、次のように入力します。

man 5 terminfo

詳細については

于 2013-01-08T21:08:52.260 に答える