Como recordo um comando específico do histórico de comandos, sem executá-lo?

12

Por exemplo, no bash eu posso digitar !xyz , o qual executará o último comando que eu digitei começando com xyz .

Como posso abrir o último comando que digitei começando com xyz , mas sem executá-lo?
por exemplo, para que eu possa alterar os parâmetros antes da execução ....

    
por Mtl Dev 08.03.2016 / 08:29

4 respostas

19

Você pode fazer assim: No prompt de comando, pressione Ctrl + r e digite o comando que deseja chamar, no seu caso xyz . Isso mostrará o comando completo sem executá-lo.

    
por 08.03.2016 / 08:53
12

Experimente !xyz:p ; ele chamará o comando para o início do histórico sem executá-lo, portanto, por exemplo, a seta para cima pode acessá-lo imediatamente para edição interativa.

Como um aparte, eu faço uma prática de fazer isso quando lembro de comandos com um regexp que podem possivelmente danificar algo, desde que um apressado !r , destinado a recuperar o mais recente comando rsync ... , retrocedeu < strong> e executado um rm * que foi enviado para a pilha mais recentemente que o rsync.

    
por 08.03.2016 / 09:04
1
  1. Execute o seguinte comando. Ele irá ecoar o último comando executado. você pode copiar e editar o comando. Este comando testado no debian.

    história | cauda -2 | grep -v history | corte -d '' -f4-

  2. Ou pressione e segure ctrl + R e digite a letra inicial do seu último comando. Ele listará os comandos que você executou anteriormente com base em sua entrada. Depois de mostrar o comando desejado, basta pressionar a seta para a direita para selecionar o comando.

por 08.03.2016 / 09:23
1

Se a pesquisa de histórico inverso falhou, faça qualquer coisa de:

$ history | grep WHAT_YOU_LOOK_FOR

Ou:

$ grep WHAT_YOU_LOOK_FOR ~/.bash_history
    
por 08.03.2016 / 17:48

Tags