conclusão de tabulação personalizada do bash com curingas

2

Eu tenho um script (vamos chamá-lo de myscript ) e quero ativar argumentos de preenchimento automático para arquivos com uma extensão específica (por exemplo, .txt ). Eu posso fazer isso simplesmente com:

complete -f -X '!*.txt' myscript

Em seguida, considerando os arquivos a , b , a.txt , b.txt e ab.txt digitando "myscript" e clicando duas vezes na guia:

$ myscript
a.txt  ab.txt  b.txt

O que eu quero fazer é permitir que os curingas filtrem mais, por exemplo se eu digitar "myscript * b *" e apertar a aba duas vezes eu quero ver:

$ myscript *b*
ab.txt  b.txt

Infelizmente, isso não me dá autocompletar. Se eu remover o preenchimento automático personalizado (ou passar -o bashdefault para complete ), isso me dará:

$ myscript *b*
ab.txt  b  b.txt

Eu não quero ver b nos resultados ou tê-lo passado para o script se eu apertar enter. Existe alguma maneira de contornar isso?

    
por Kevin 14.03.2017 / 16:15

0 respostas