Esta es una sintaxis especial, expandida por bash. También funciona para zsh.
De acuerdo con la página de manual de bash (sección EXPANSIÓN DE HISTORIA), el patrón se expande de la siguiente manera:
- El designador de evento se
!#
refiere a la línea de comando completa escrita hasta ahora, que escurl http://beyondgrep.com/ack-2.14-single-file > ~/bin/ack && chmod 0755
:
se divide entre el designador de eventos (en este caso, la línea completa) y el designador de palabras (selecciona una subparte)
- el designador de palabras
3
que selecciona la tercera palabra / argumento (el recuento de palabras comienza en cero), en este caso ~/bin/ack
.
La línea de comandos final (por lo general aparece antes ejecutado) es:
curl http://beyondgrep.com/ack-2.14-single-file > ~/bin/ack && chmod 0755 ~/bin/ack
.
Para más detalles, consulte el manual de bash o muy similar al manual de zsh
man bash
, luego busque HISTORY EXPANSION