Como redefinir COMP_WORDBREAKS sem afetar outro script de conclusão?

Há algo me confundir quando eu implementar uma função de auto-conclusão bash que eu vou colocá-lo em/etc/bash_completion.d/

Para conseguir algum recurso, eu quero remover os caracteres de quebra de palavra:) da variável$COMP_WORDBREAKS e adicione uma barra (/) no início de$COMP_WORDBREAKS.

<code>COMP_WORDBREAKS=" /'><=;|&("
_mytool()
{
    local cur=${COMP_WORDS[COMP_CWORD]}
    compopt -o nospace

    # my implement here

    COMPREPLY=( $(compgen ..........my_implement......... -- $cur) )
}
complete -F _mytool mytool
</code>

No entanto, não consigo redefinirCOMP_WORDBREAKS diretamente porque o valor é compartilhado com outros scripts de conclusão. No momento em que a função de conclusão é chamada, variávelCOMP_WORDS array já foi preenchido, então muda localmenteCOMP_WORDBREAKS não tem efeito.

Existe alguma solução para mudarCOMP_WORDBREAKS em um script de conclusão e nenhum efeito para outro script?

<code>$ echo $BASH_VERSION
4.2.10(1)-release
</code>

questionAnswers(1)

yourAnswerToTheQuestion