矢印キーとEnterを使用してナビゲートできるインラインメニューをシェルに表示するツールを探しています。 「インライン」とは、メニューが標準出力テキストの一般的なフロー内に表示されることを意味します。いいえすべての上にポップアップダイアログがあります。
やっと見つけたその投稿私はこの問題を解決しようとしましたが、カスタムスクリプトやインラインではなく/ポップアップソリューション(またはdialog
)zenity
のみが言及されました。
私が探しているのは、apt-get
Dockerイメージに使用するか、単にインストールし、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の構文を使用して、選択できない行の部分文字列を太字で表示することもできます(選択可能な行は常に太字で表示されるため)。