Estou escrevendo um script envolvendo um determinado comando do Linux. Agora, esse comando, quando eu o uso diretamente na linha de comando, tem algum comportamento de preenchimento automático. Por exemplo, se eu digitar o nome do comando, depois espaço, depois uma string e pressionar Tab - ele será concluído no nome de um executável no caminho. No entanto, o script wrapper não parece ter esse comportamento. Como posso fazer com que o bash use o mesmo preenchimento automático para meu wrapper e para o comando original?
Para tornar as coisas mais concretas: O comando é which
. Estou escrevendo um wrapper que o invoca e, se não falhar, é executado readlink -f
no resultado de which
. Gostaria que o preenchimento automático encontrasse o executável no caminho, como acontece com o which
.
Você pode listar as especificações de conclusão
which
comO resultado é
complete -c which
. Portanto, se você tiver seu próprio novo comandomywhich
, executável, no PATH, poderá concluí-lo da mesma maneira, configurando o bash comVocê pode colocar esta linha
~/.bash_completion