compgen:大文字と小文字を区別しない


9

私は、カスタム実装しようとしているbashの補完をとして、ここで説明します。しかし、そのようでcompgenある大文字と小文字を区別。そのコンテキストで大文字と小文字を区別ないようにする方法はありますか?

回答:


5

私はあなたが言及したリンクの例を次のようなものに変更します:

_foo() 
{
    local cur prev opts
    COMPREPLY=()
    cur="${COMP_WORDS[COMP_CWORD],,}"     # this downcases the result
    prev="${COMP_WORDS[COMP_CWORD-1],,}"  # here too
    opts="--help --verbose --version"

    if [[ ${cur} == -* ]] ; then
        COMPREPLY=( $(compgen -W "${opts}" -- ${cur}) )
        return 0
    fi
}
complete -F _foo foo

詳細については、bashのドキュメントまたはbashハッカーのサイトを参照してください。


しかし、これoptsはすべて小文字であるという事実にかかっています。である場合--help --verbose --VERSION、3番目のケースを完了することはできません。
エンリコマリアデアンジェリス
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.