Estoy muy confundido acerca de mi sesión de terminal ubuntu, parece reemplazar secciones en comandos que comienzan !seguidos de un número con comandos aparentemente aleatorios. Lo hace !87reemplazándolo por screen -ly también con !88y reemplazado por ls.
Cualquier idea de por qué está sucediendo esto sería muy apreciada.
command-line
bash
history
bash-history
usbpc102
fuente
fuente

Respuestas:
Esa es
bashla expansión de la historia, por ejemplovuelve a ejecutar el comando desde la línea del historial
87.Encontrará la descripción de esta función en la
man bashsección "EXPANSIÓN DE HISTORIA":Entonces, para llamar rápidamente al último comando, haga
!-1y para el quinto último comando!-5. Un sinónimo útil para!-1es!!: si llamó, por ejemplo,apt install somethingy olvidó elsudo, simplemente ejecutesudo !!y estará bien.Para evitar la expansión del historial, debe escapar del signo de exclamación con una barra diagonal inversa (
\!) o utilizar comillas simples ('!').fuente
!a sus comandos y evitar la expansión de la historia, necesitará comillas simples o escapar de ellos:foo '!87'ofoo \!87. (las comillas dobles también realizarán la expansión de sus contenidos)