A conclusão programável do Bash funciona analisando a linha de comando e descobrindo o que está sendo concluído:
- Alguns contextos são tratados especialmente, por exemplo, a primeira palavra em um comando é concluída como um nome de comando, o que segue a
$é concluída como um nome de variável, etc.
- Fora desses contextos, o bash tenta concluir o argumento de um comando e as configurações para o comando ou a falha (que geralmente é o caso) para o nome da base do comando são aplicadas.
Por exemplo, depois , o bash conclui os nomes dos comandos que começam com . Depois , o bash completa os nomes de variáveis que começam com . Depois , o bash aplica as regras de conclusão para o comando . As regras de conclusão podem especificar uma categoria (usuário, variável, arquivos etc.), um padrão curinga para nomes de arquivo ou uma função ou trecho de código a ser executado.sqllTabsqllsqlldr $aTabasqlldr Tabsqlldr
As regras de conclusão são definidas pelo completebuiltin. O Bash não controla quando o completebuiltin foi chamado ou em qual script (se houver) ele estava. A maioria das distribuições envia o pacote bash-complete , que fornece uma série de regras para comandos comuns. Isso assume a forma de uma série de arquivos de script que contêm chamadas para complete, com um script que deve ser lido .bashrc(ou /etc/bash.bashrcse implementado) para carregar todos esses scripts: normalmente . /etc/bash_completioné necessário para ativar a conclusão programável e carregar os scripts disponíveis.
O pacote padrão não inclui suporte para sqlldr. Se você tiver esse suporte, ele deve ser de uma fonte diferente. Essa fonte pode ter descartado um arquivo em um diretório como /etc/bash_completion.dou pode ter fornecido instruções para incluir algum código no seu .bashrc. Você pode usar complete -p sqlldrpara ver as regras atuais para sqlldr; como mencionado anteriormente, isso não informará de onde essas regras foram carregadas.
O tcsh, o zsh e o fish têm mecanismos semelhantes (todos se inspiraram no tcsh), mas com diferentes componentes, sintaxes e recursos.
/etc/bash_completion.d. Veja também/etc/bash_completione dê uma olhada na saída desetquanto seu ambiente cresceu.