expansão de suporte in-line bash

2

O bash / readline tem uma ligação ou uma função à qual uma combinação de teclas pode ser vinculada para expandir as chaves in-line? Semelhante à maneira como a combinação M-* key pode ser usada para expansão de globalização em linha.

Assim, ao executar uma combinação de teclas

$ {a..z}

se transformará em:

$ a b c d e f g h i j k l m n o p q r s t u v w x y z

    
por elig 11.09.2018 / 02:04

1 resposta

4

$ $(echo {a..z})

CTRL + ALT + e

$ a b c d e f g h i j k l m n o p q r s t u v w x y z

Observe que ele expandirá todas as expansões na linha de comando. Não importa onde o cursor é colocado.
Com este comando (e a=this; b=that ):

$ echo "$a"; $(echo {a..m}); echo "$b"

Isso será expandido:

$ echo this; a b c d e f g h i j k l m ; echo that

De man bash :

shell-expand-line (M-C-e)
Expand the line as the shell does. This performs alias and history expansion as well as all of the shell word expansions. See HISTORY EXPANSION below for a description of history expansion.

    
por 11.09.2018 / 02:04