Bash exeute comando do histórico e puxe o comando next / previous para a linha de comando

1

Tenho certeza de que li em algum lugar, mas não consigo mais encontrar o site.

Basicamente, eu quero pesquisar o histórico "^ r" e, em seguida, executar um comando e me deixar na posição seguinte / anterior no histórico. já que geralmente existem comandos que eu corro juntos, faz sentido poder executar facilmente esses comandos novamente em sequência.

Por exemplo, digamos que eu tenha 3 comandos no histórico e eu execute o comando mais antigo (3) Eu gostaria de ver o comando 2 em minha linha de comando e, se eu pressionar, veria o comando 3 e o down me comando 1. Então, neste caso, depois de executar o comando 3 eu estaria no mesmo estado como se tivesse pressionado duas vezes a partir de um prompt em branco.

Obrigado a todos

Cais

    
por PiersyP 11.02.2011 / 11:11

1 resposta

1

Pressione Ctrl-o (letra Oh) para executar o comando que você recuperou e o próximo comando no histórico aparecerá no prompt pronto para você pressionar Ctrl-o ou Enter, etc.

Editar:

Este comando liga Ctrl-Alt-o a uma macro de teclado que executa o comando selecionado e passa para a anterior:

bind '"\e\C-o": "\C-o\C-p\C-p"'

Você pode salvar isso para que seja persistente em sessões futuras adicionando o seguinte ao seu ~/.inputrc :

"\e\C-o": "\C-o\C-p\C-p"
    
por 11.02.2011 / 11:25

Tags