Estou muito confuso com a minha sessão de terminal do ubuntu, parece substituir seções em comandos que começam !
seguidos por um número por comandos aparentemente aleatórios. Faz isso !87
substituindo-o por screen -l
e também !88
substituindo-o por ls
.
Qualquer idéia de por que isso está acontecendo seria muito apreciada.
command-line
bash
history
bash-history
usbpc102
fonte
fonte
Respostas:
Essa é
bash
a expansão da história, por exemploreexecuta o comando da linha do histórico
87
.Você encontra a descrição desse recurso na
man bash
seção "EXPANSÃO DA HISTÓRIA":Então, para chamar rapidamente o último comando, faça
!-1
e para o quinto último comando!-5
. Um sinônimo útil para!-1
é!!
- se você ligou, por exemplo,apt install something
e esqueceu osudo
, basta executarsudo !!
e você é bom.Para evitar a expansão do histórico, você precisa escapar do ponto de exclamação com uma barra invertida (
\!
) ou usar aspas simples ('!'
).fonte
!
para seus comandos e evitar a expansão do histórico, você precisará aspas simples ou escapar deles:foo '!87'
oufoo \!87
. (aspas também irá realizar a expansão de seus conteúdos.)