Conclusão redistribuível para meus scripts bash

3

Existe uma maneira simples de incorporar os recursos de conclusão dentro de um script, por bash?

Eu tenho um script que quero redistribuir, mas não posso pedir que as pessoas adicionem algo dentro de seu /etc/bash_completion.d para que eles concluam o trabalho do meu script ...

    
por Jean-Michaël Celerier 01.06.2014 / 12:05

1 resposta

3

Não há um local padrão para conclusões completas em diretórios pessoais. Você pode instruir as pessoas a copiar o código de conclusão para o .bashrc ou instruí-las a salvar o script de definição de conclusão em algum lugar (que não deve estar no $PATH ) e a utilizar o .bashrc . Eu recomendo o último, pois facilita muito as atualizações.

. ~/.bash_completions/jmc_app

Convencionalmente, suas conclusões devem ser definidas em um script com o mesmo nome do programa que ele completa, contendo uma definição de função com o mesmo nome com um caractere sublinhado e chamando complete para instalar a conclusão:

# jmc_app completion
_jmc_app () {
  …
}
complete -F _jmc_app jmc_app
    
por 02.06.2014 / 01:50