man bash
説明する:
完全なマップケース(閉じた状態)
Onに設定し、Completion-ignore-caseが有効になっている場合、readlineは大文字と小文字を区別しないファイル名の一致と補完を実行するときにハイフン(-)とアンダースコア(_)を等しく処理します。
$ bind -v|grep case
set completion-ignore-case on
set completion-map-case on
私が入力している間
$ touch _test
$ chmod +x -t<TAB>
それは完了する
$ chmod +x _test
しかし、両方
$ ./-t<TAB>
$ ls -t<TAB>
十分。
なぜそんなことですか?修正できますか?
答え1
Chet Raimiは私のレポートに次のように答えました。
お届けいただきありがとうございます。これら2つのオプションはファイル名の補完には適用されますが、コマンドの補完には適用されません(ほとんどの場合、readlineの外で処理されます)。この機能は現在、readlineのファイル名の完成の一部であるため、readlineの外部に公開することを検討していますが、時間がかかり、バージョン変更が必要になる場合があります。