compgen :忽略大小写

Pie*_*rre 9 bash autocomplete

我正在尝试按照此处所述实现自定义bash 完成。然而,似乎是区分大小写的。有没有办法让它在那种情况下不区分大小写compgen

Raj*_*ish 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
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅 bash 文档或bash 黑客站点