Gostaria de adicionar uma especificação de conclusão personalizada para a Conclusão Programável do bash que faça o seguinte: sempre que o comando digitado for foo
, eu gostaria de concluir o nome do arquivo / diretório para o token parcial depois foo
, mas em relação a um diretório fixo (por exemplo /a/b/c
) em vez de o diretório de trabalho atual.
Por exemplo, suponha que /a/b/c
contenha os arquivos
hello goodbye cheers directory
e /a/b/c/directory
contém os arquivos
adieu ciao
Em seguida, a digitação foo go<TAB>
deve ser concluída go
em goodbye
, e a digitação foo dir<TAB>ci<TAB>
deve concluir o argumento primeiro para directory/
e depois para directory/ciao
, independentemente do meu diretório de trabalho atual.
Eu esperava poder configurar isso com apenas uma chamada complete
, mas depois de ler o manual, não parece que eu posso fazer isso. Isso pode ser feito? E, se não, como eu poderia adicionar um compspec para fazer isso?
fonte
complete
(-F
que não seja).-P /a/b/c
, mas isso sempre substituirá o padrão de conclusão por todo o caminho. Eu não acho que é possível sem uma função.