6

bash4コマンドプロンプトで入力された最初のコマンドの完了を制御する方法はありますか?

完全な -E を使用して「空行」の補完を制御できますが、いくつかの文字が入力されるとすぐに、bash (または場合によっては readline) が PATH、組み込みコマンド (if、then、else...) および関数からすべてのファイル名を取得します。完了試行時 (TAB)。

PROMPT_COMMAND で PATH の設定を解除し、関数をバインドして DEBUG をトラップすることで復元することで PATH エントリを回避できましたが、bash bultin コマンドの補完を取り除くことはできませんでした。

何か案は?

4

3 に答える 3

-3

bash 補完は /etc/bash_completion.d/ に保存されます。root アクセス権がある場合は、そこでファイルを編集/削除できます。

ユーザー レベルで制御したい場合は、~/.inputrc を作成して編集できます。/etc/inputrc を見ると、どこから始めればよいかがわかります。

~/.inputrc は /etc/inputrc 内のすべてをオーバーライドするため、bash_completion が補完ファイルを探す場所を変更できます。ローカルの補完ディレクトリを作成して、そこに補完したいアイテムだけを入れることができます。bash ビルトインも削除できると思います。

オンラインでの bash の補完に関する非常に優れたチュートリアルもいくつかあります。 ここ ここ

于 2012-06-21T23:56:08.540 に答える