Entiendo que si escribe, ls *en realidad se expande a ls a b ccuando el actual tiene archivos directamente a, by c.
Me preguntaba si hay una manera de expandir esto antes de presionar enter. Similar a cómo funciona Ctrl + X , o la pestaña completa funciona.
Para aclararme
$ ls *
<press magic key>
$ ls a b c
de manera similar a:
$ ls ~/
<press tab>
$ ls /home/username
Pensé que había visto esto antes, pero podría haberme equivocado.
bash
autocomplete
globbing
bramp
fuente
fuente

Respuestas:
Puedes usar la
glob-expand-wordfunción, de manbash:Agregue algo como esto a su
~/.inputrc:Entonces,
$ ls *seguido de Ctrl-Xse expandirá a$ ls a b c, en su ejemplo.fuente
bind -p | grep 'C-x'para verlos.C-x*en mi sistema.En bash, se llama a la capacidad de línea de lectura
glob-expand-wordy está vinculada CtrlX*de forma predeterminada.fuente
Cuando está en
vimodo (set -o vi), la "llave mágica" es Esc*. Esto funciona con ambosbashyksh.fuente
Para usar estos podemos hacer
ls *Ctrl+x *o
ls *Esc *Expande líneas complicadas antes de presionar enter
fuente
Una alternativa a glob-expand-word (\ Cx *) es insertar-terminaciones (\ e *). Funciona sin un asterisco al final, pero también incluye otras terminaciones como archivos ocultos. He recuperado ambos en ~ / .inputrc:
glob-complete-word (\ eg) se puede usar para convertir, por ejemplo,
/System/Library/Launch*/*Findera/System/Library/LaunchAgents/com.apple.Finder.plist.fuente