Eu tenho uma função bash simples, um wrapper em torno do scp basicamente. Chamado usando
copytomachine <Machine> <File>
Eu configurei um auto complete simples de tal forma que quando eu digito
copytomachine <TAB><TAB>
Ele me apresenta uma lista das máquinas disponíveis, apenas uma sequência codificada no momento, o que é bom para minhas necessidades.
Se, no entanto, eu digitar
copytomachine BUILD_SERVER <TAB><TAB>
Eu gostaria que ele oferecesse uma lista de arquivos em meu diretório e pudesse completar automaticamente seus caminhos, etc. No entanto, eu não quero que essa lista de arquivos seja apresentada para o primeiro parametro (o nome da máquina) .
Meu script de conclusão atual se parece com:
_machines_completions()
{
local opts
opts="BUILD_SERVER TEST_SERVER LOCAL_MACHINE"
COMPREPLY=( $(compgen -W "${opts}" -- ${COMP_WORDS[COMP_CWORD]}) )
return 0
}
Alguém pode aconselhar como eu posso modificar isso para permitir que eu complete tab para esses nomes de máquina definidos para o parâmetro 1 e complete a tabulação para nomes de arquivos no parâmetro 2?