Bashで大文字と小文字を区別せずに完了

Bashで大文字と小文字を区別せずに完了

フォルダがあります~/TestFolder。現在の作業ディレクトリはホームディレクトリ(~)です。

たとえば、部分コマンドを入力してTabを押したときにコマンドが提供されるようにオートコンプリートしたいとしますcd testcd TestFolder

この目標をどのように達成できますか?

ベストアンサー1

吹く

-fileに以下を追加します~/.bashrc

bind -s 'set completion-ignore-case on'

Gillesの回答で説明されているように、これはbashで大文字と小文字を区別せずに完了します。 CDパラメータで大文字と小文字を区別しないようにする方法は?

bash 5.0.17を使用してUbuntu 20.04でテストされました。

その他のオプション

bashとzshだけをテストしました。これは私が別のシェルで見つけたものです。

リンクされた回答に別のオプションがset completion-ignore-case on追加されましたinputrc。他のシェルでも使用できます。 ~によるとこれ答えは、bashでこのオプションを使用するかどうかについても説明します。

したがって、bashを使用しない場合は、特定のシェルを最初に調査することをお勧めします(他の人が他のシェルにテストされた答えを追加しない限り)。

ジッシュ

zsh使うその他readline/inputrc の代わりにラインエディタ。インストール中にすでに次の行が含まれている[ 2Add Recommendations]をクリックするオプションを提供します。~/.zshrcデフォルトでは、目的の動作を有効にします。

zstyle ':completion:*' matcher-list '' 'm:{a-z}={A-Z}' 'm:{a-zA-Z}={A-Za- z}' 'r:|[._-]=* r:|=* l:|=*'

zsh 5.8を使用してUbuntu 20.04でテストされました。

これも役に立ちます。zshのタブ補完と大文字と小文字の区別なし

おすすめ記事