矢印キー付きのインラインテキストメニューセレクタを表示するコマンドラインパッケージを探しています。

矢印キー付きのインラインテキストメニューセレクタを表示するコマンドラインパッケージを探しています。

矢印キーとEnterを使用してナビゲートできるインラインメニューをシェルに表示するツールを探しています。 「インライン」とは、メニューが標準出力テキストの一般的なフロー内に表示されることを意味します。いいえすべての上にポップアップダイアログがあります。

やっと見つけたその投稿私はこの問題を解決しようとしましたが、カスタムスクリプトやインラインではなく/ポップアップソリューション(またはdialogzenityのみが言及されました。

私が探しているのは、apt-getDockerイメージに使用するか、単にインストールし、npm install -gオプションリストを使用してスクリプトから呼び出して、ユーザーが選択したものをインポートできる強力なパッケージです。

nodeJSで私は使用しています質問者これらのメニューを提供するだけでなく、さまざまな入力も提供します。

これは例ですスクリーンショットそんなインラインメニュー。

このツールはシェルスクリプトで書く必要はありません。apt-get使いやすさが簡単な限り、任意の言語で書かれたバイナリ/スクリプトにすることができますcurl。選択を渡すシェルスクリプトから呼び出すことができる限り、nodeJSツールも可能です。

ベストアンサー1

前に使ったアイセレクトこのために数年前。

非常に基本例:

$ sel="$(iselect -a 'foo' 'bar')"
$ echo $sel
foo

からman iselect

iSelectは、フルスクリーンのCursesベースのターミナルセッションを介して機能するASCIIファイル用の対話型行選択ツールです。 Bourne-Shell、Perl、または他の種類のスクリプトバックエンドで制御されるユーザーインターフェイスのフロントエンドのラッパーとして使用するか、バルクパイプラインフィルタ(通常はgrepと最終実行コマンドの間)として使用できます。つまり、iSelectはあらゆる種類の行ベースの対話型選択用に設計されています。

入力データ

入力は、各引数がバッファラインに対応するコマンドライン(line1 line2 ...)から読み取られるか、またはバッファラインが改行に基づいて決定されるstdin(引数が指定されていない場合)から読み取ることができます。

"<b>"..."</b>"また、HTMLの構文を使用して、選択できない行の部分文字列を太字で表示することもできます(選択可能な行は常に太字で表示されるため)。

おすすめ記事