Como inline expandir curinga no bash?

10

Eu lembrei que o bash pode fazer o seguinte:

Suponha que haja 3 arquivos: a, b, c no diretório atual, quando eu inserir:

$> somecommand *

e, em seguida, pressione uma tecla ou combinações de teclas ou uma sequência de teclas, o curinga * on-line expandido como:

$> somecommand a b c

mas não me lembro e não consigo pesquisar na sequência de teclas! ajuda!

    
por marstone 05.06.2013 / 21:10

3 respostas

7

Se não estiver, você precisará ligar glob-expand-word a uma sequência de teclas. Normalmente, adicionando algo como:

"\C-x*": glob-expand-word

para .inputrc .

Para verificar o problema do status atual, algo como:

bind -P | grep glob-expand-word

Onde o resultado pode ser:

glob-expand-word can be found on "\C-x*".

O que significaria:

Ctrl-x *

Isso também provavelmente funcionará:

Ctrl-x Ctrl - *

Dê uma olhada em bind -P e manual (is) para outras gentilezas.

por 05.06.2013 / 22:15
3

Parece que você está procurando a conclusão da lista. Na página man de bash :

 COMP_TYPE
     Set to an integer value corresponding to the type of completion
     attempted  that caused a completion function to be called: TAB,
     for normal completion, ?, for listing completions after succes‐
     sive  tabs, !, for listing alternatives on partial word comple‐
     tion, @, to list completions if the word is not unmodified,  or
     %,  for  menu  completion.   This variable is available only in
     shell functions and external commands invoked by  the  program‐
     mable completion facilities

Então, depende da função de conclusão de um comando como isso é concluído.

    
por 05.06.2013 / 21:21
2

Se você está usando set -o vi no bash, então Ctrl-X * não funciona.

No modo set -o vi você precisa usar Esc * .

    
por 05.02.2015 / 15:54

Tags