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 !87
reemplazándolo por screen -l
y también con !88
y 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
bash
la 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 bash
sección "EXPANSIÓN DE HISTORIA":Entonces, para llamar rápidamente al último comando, haga
!-1
y para el quinto último comando!-5
. Un sinónimo útil para!-1
es!!
: si llamó, por ejemplo,apt install something
y 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)