問題タブ [bash-completion]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
bash - *を含む予期しないbashディレクトリリスト
bashで大文字と小文字を区別するディレクトリリストに問題があります。例えば
ただし、nohuPbではなくnohupaのみがリストされることを期待しています。nohuPbには大文字のPがあるため、.bashrcセット内の*が機能する変数が大文字と小文字を区別しないかわかりません。
何か案が ?
bash - Bashの完了-不要なタブプレスを取り除く方法は?
私が使う
データベースから可能なバリアントを取得し、を使用してそれらを完成させますTAB。これらのバリアントにスペースを含めることができる限り、'
接頭辞と接尾辞として使用して自動引用するのが便利です。したがって、、を押してA、接頭辞を持つバリアントが1つしかない場合は、のようなものになります。BTABAB
'ABC DEF'
しかし、問題は、多くのバリアントがある場合、、、の後AにB、TABを取得し、もう一度'AB
押すとNOPになり、3回目のプレスでのみ完了が可能になることです。TABTAB
TABプレスを1つまたは少なくとも2つに減らす方法はありますか?
regex - MSYS bash では bash の補完が機能しません。正規表現構文エラー
MSYS bash に bash-completion をインストールしようとしましたが、構文エラーが含まれているようです。次のメッセージで失敗します
ここに失敗するコードがあります
python - Bash 完了スクリプトの単体テスト
(かなり複雑な)Bash補完スクリプトのユニットテストを、できればPythonで書きたいと思います-Bash補完の値をプログラムで取得するだけのものです。テストは次のようになります。
Bash の補完をプログラムでシミュレートして、ツールのテストスイート内の補完の値を確認するにはどうすればよいですか?
bash - bashで、コマンドラインの入力中に!$を展開する方法は?
!$
シェル内でコマンドを対話的に編集しながらコマンドラインを展開する方法はありますか?
たとえば、 を入力しているls !$
ときに何かのボタンを押すと、 の値が表示され!$
ます。
bash - ネストされた bash オートコンプリート スクリプト
最近使っているコマンドラインプログラムに bash 補完のサポートを追加しようとしているのですが、壁にぶち当たっているようです。
オートコンプリートしたいコマンドとサブコマンドは次のとおりです
メイン コマンドは です。サブコマンド、、および
foo
に対してオートコンプリートを実行する必要があります。それ以降のオートコンプリートは、サブコマンドに依存します。version
process
help
ユーザー
-
がメイン コマンドの後に入力すると、オートコンプリートによって次の単語が補完されます--activate
。--deactivate
ユーザーがを入力
--deactivate
すると、bash コマンド出力のオートコンプリートを実行する必要があります (たとえばls
)。
version
: オートコンプリートは実行されませんprocess
: オートコンプリートはデフォルトでディレクトリをリストします (現在と親を含む)- ユーザーがを入力する
-
と、オートコンプリートは次の単語の補完を実行し--color
、--verbose
その後停止します。
- ユーザーがを入力する
ユーザーが を入力すると、他のサブコマンド (または)
help
がオートコンプリートされます。process
version
これが私の現在のオートコンプリートスクリプトの実装です(ひどく失敗しています):
おそらく、Bash が私の得意分野ではないこともわかるでしょう。サブコマンドごとに個別の bash 関数を作成することを考えていましたが、現時点ではその方法がわかりません。これを実装する方法についても提案があれば、本当に感謝しています。
ありがとう!
python - optcompleteモジュールを使用しているときにbashの完了を取得できない
python-optcomplete
パッケージ(Debianテストの1.2-11.1 )を使おうとしています:
完了しようとしても何も得られません...この男ほど幸運ではありません。
プロジェクトのWebサイト(ファイル名: "optcomplete-simple")から取得した(切り取った)コードは次のとおりです。
bash - bash の完了 _parse_help が壊れていますか?
スクリプトのコマンド ライン スイッチの簡単な bash 補完を取得するために、/etc/bash_completion (debian sid、bash v4.2-1、bash-completion v1:1.99-3) の _parse_help 関数を調べています。
私のスクリプトは、標準の GNU 形式と思われるヘルプ メッセージを生成します。
次に、 を介して補完を有効にしcomplete -F _parse_help ./myscript
ます。
残念ながら、これは望ましい結果をもたらしません。最初のタブ./myscript <TAB>
(キーを 1 回押すことに注意) で、短縮バージョンではなく、--help と --option を含むフォーマットされていないリストが表示されます。さらに悪いことに、いずれかのオプションの完了が失敗します。実際、ダッシュを入力するだけで、_parse_help は出力の生成を完全に停止します。
全体が非常に壊れているように感じ、オンラインでの参照はあまり見つかりません. この機能はおそらく廃止されたと考えられますか? --help 出力の解析に基づくコマンドライン補完の別の標準的な方法はありますか?
python - distutils / pip と一緒に Bash 補完をインストールする
単純な Python モジュールを作成し、それを pip で配布したいと考えています。また、モジュールと一緒に Bash 補完ファイルもインストールしたいと考えています。モジュールを Python 2.7.1+ および pip 0.8.2 でインストールしています。
私はこのsetup.pyを持っています:
でパッケージをインストールしようとするとpip install -e .
、Bash 補完ファイルがパッケージと一緒にインストールされることはありません。ここで説明されているように、MANIFEST.in を指定して回避策も試しました。
MANIFEST.in:
しかし、これも役に立ちません。補完ファイルがインストールされません。Bash 補完ファイルをインストールするにはどうすればよいですか?
bash - bashでプログラム可能な補完を備えた条件付きトレーリングスペース
私が使用するコマンドにプログラム可能な補完を提供する関数を作成しています(http://www.debian-administration.org/articles/317の助けを借りて)。シェルスクリプトの使用法は次のとおりです。
ここで、コマンドは「foo」または「bar」のいずれかであり、「foo」のコマンドオプションは「a_foo=value」および「b_foo=value」であり、「bar」のコマンドオプションは「a_bar=value」および「b_bar=value」です。 。
私が使用している構成は次のとおりです。
これは主に私が望むように機能します:
完了:
(必要に応じて末尾のスペースがあります)
ただし、これは次のとおりです。
完了:
(末尾のスペースもあります)
末尾のスペースを「=」に置き換えたいのですが。または、compgenに渡される値を "--a_foo = --b_foo ="に変更することもできます。その場合は、末尾のスペースを削除するだけで済みます。
残念ながら、コマンドは私の制御下にないため、コマンドラインオプションを「--a_foo=value」ではなく「--a_foovalue」の形式に変更することはできません。