_longopt
組み込みの完成機能(たとえば)を使用するコマンドに対してオートコンプリートを使用する場合、mkdir
シェルは必要な提案に加えて常に現在のディレクトリの内容を提案します。
たとえば、私が入力した場合
mkdir ~/somedir
applications
次に Tab を 2 回押します。 Bashの提案:(現在のディレクトリにが含まれていると仮定desktop
)
applications/ desktop/ documents/
...
somedir_a/ somedir_b/
somedir_a
通常の動作を復元し、bashが他のsomedir_b
ファイル/ディレクトリのみを提案して提案しないようにするにはどうすればよいですか?
バッシュバージョン:GNU bash, version 5.0.11(1)-release (x86_64-redhat-linux-gnu)
バッシュ完成:2.8
答え1
nullglob
この動作は、.dllファイルに存在する可能性のあるシェルオプションが原因で発生する可能性があります.bashrc
。
その理由は、この動作を有効_longopt
にする関数定義にバグがあるためです。_longopt
回避策は、このオプションを無効にするか、_longopt
機能を直接上書きすることです。
同様の効果がここに記載されている。nullglobがタブの完成に影響するのはなぜですか?しかし、このオプションに問題があることを知らないと、この問題を見つけるのは難しいです。
編集:指摘したように@プラマルベリー、これは既知の問題そしてbash-completion
。修正はリリースにありますが、2.9
そのリリースはまだFedora(およびおそらく他のシステム)では利用できません。