Como habilitar o preenchimento de tabulação do terminal específico para o executável
-
19-09-2019 - |
Pergunta
No bash, acredito que seja possível ativar o preenchimento de tabulação no terminal para termos específicos do executável que está sendo invocado.
Por exemplo, dado um executável "comer" com argumentos válidos {bolo, cenoura, banana}, digitar 'comer carro' deve terminar com 'comer cenoura'.
Eu acredito que isso é possível porque eu vi isso com a guia 'ant' completando seus alvos (embora eu não saiba como isso foi configurado).
Como esse comportamento pode ser implementado?
Solução
Isso é feito com scripts em /etc/bash_completion.d/
e se você quiser escrever seu próprio suporte de conclusão para um executável, aqui está um tutorial para você começar.
Se você só precisa que o comportamento funcione para executáveis comuns, sua distribuição Linux provavelmente tem um conclusão do bash pacote disponível com suporte para comandos comuns.
Outras dicas
Isso é bastante semelhante ao nome do arquivo Globbing onde a concha tentará preenchimento automático com base no curinga de globbing ... por exemplo ....
echo foo*
Listará todos os arquivos no diretório atual, começando com 'Foo' ... o Bash Shell globou o curinga e o expandiu para uma lista de arquivos ...
O MSDOS tinha um conceito semelhante, embora não tenha sido explicitamente ligado no tempo de execução, estou falando sobre o antigo material do Turbo C, quando o globbing de curingas foi ativado por vincular-se a 'WildArgs.obj' (se minha memória me serve corretamente ), internamente, esse código iterará através do diretório e expandirá a lista com base na correspondência do padrão curinga.
No Linux/*Nix Land, o globbing é padrão, mas, no entanto, você não pode atingir manualmente a tecla de guia de sequência para fazer a correspondência ou a conclusão de padrões ... como diferentes terminais podem traduzir a tecla TAB de maneira diferente e, claro, lidar com isso de maneira diferente ...