Usando o bash no ubuntu (debian jessie / sid) Eu não tenho certeza porque eu não consigo concluir a tabulação de um curinga com um comando interno .
por exemplo, suponha que meu diretório de trabalho atual contenha os seguintes subdiretórios.
% ls -l
drwxr-xr-x 2 userX 4096 2016-08-31 11:46:40 0830a/
drwxr-xr-x 2 userX 4096 2016-08-31 11:46:52 0830b/
drwxr-xr-x 2 userX 4096 2016-08-31 11:47:33 0831a/
drwxr-xr-x 2 userX 4096 2016-08-31 11:47:18 0831b/
drwxr-xr-x 2 userX 4096 2016-08-31 11:50:38 z0830z/
Eu consigo acessar [tab] depois de digitar 'ls -l * 31a' e fazer a conclusão ocorrer.
ls -l *31a<tab>
conclui para ..
ls -l 0831a
no entanto, se eu tentar o mesmo com o comando 'cd' incorporado, ele não será concluído.
cd *31a<tab>
.. não será concluído
Além disso, o uso de um curinga também falha ..
cd z*<tab>
.. não será concluído
Curiosamente, a conclusão sem um caractere curinga funciona bem para os recursos internos. Por exemplo, posso fazer com que esse trabalho de conclusão seja OK:
cd z<tab>
está concluído para ..
cd z0830z/
Além disso, eu posso usar o comando 'cd * 31a' como está e ter sucesso (desde que seja único). Mas eu quero que a expansão ocorra, então eu sei com certeza o que estou fazendo.
Meu .inputrc contém isso ..
$if Bash
Space: magic-space
set mark-directories on
set mark-symlinked-directories on
set completion-ignore-case off
set show-all-if-ambiguous on
$endif
Eu não tenho um arquivo ~ / .bash_completion. Eu tenho / etc / bash_completion, que faz apenas uma fonte de / usr / share / bash-completion / bash_completion. Esse último arquivo é um pouco longo, então não o incluirei aqui.
Meu objetivo final é poder ter um trabalho de conclusão de curingas para o comando cd.