COMP_LINE não definido, apesar de a conclusão do bash estar instalada

0

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.

    
por cayblood 23.04.2012 / 11:56

1 resposta

0

$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 .)

    
por 23.04.2012 / 12:51