Como habilitar o preenchimento de tabulação do terminal específico para o executável

StackOverflow https://stackoverflow.com/questions/2440618

  •  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?

Foi útil?

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top