$COMP_LINE
não é uma variável de ambiente. É uma variável interna, e só é visível para as funções de conclusão, não para outro uso de shell. (A maioria das outras variáveis internas são visíveis em declare
.)
Estou usando o pacote de conclusão do homebrew no OSX, que está instalado em / usr / local / etc / bash_completion. Ele está funcionando bem, mas há muitas extensões para ele que dependem de várias variáveis de ambiente que começam com COMP_, como COMP_LINE. Essas variáveis de ambiente, infelizmente, não estão sendo exportadas para o meu ambiente bash, apesar do fato de que os arquivos apropriados estão sendo fornecidos. Aqui está a área aplicável no meu .bash_profile:
# bash completion
if [ -f 'brew --prefix'/etc/bash_completion ]; then
. 'brew --prefix'/etc/bash_completion
. /usr/local/etc/bash_completion.d/git-completion.bash
fi
No entanto, o COMP_LINE não está definido, o que impede que outros complementos de conclusão funcionem:
> env | grep COMP_LINE
>
Alguma idéia de por que as variáveis de ambiente não estão definidas? Agradecemos antecipadamente pelo seu tempo.