Pessoalmente, eu prefiro o caminho do Windows de travessia do histórico de comandos (desculpe!), onde cada comando mantém seu lugar no histórico e quando você retorna ao último comando executado, ele não é necessariamente o último no histórico.
Não tenho certeza se isso faz sentido, então tentarei explicar com exemplos.
Bash
Suponha que eu executei quatro comandos ( one
, two
, three
, four
). Depois disso, o histórico de comandos (do mais antigo ao mais recente) se parece com:
Agora, se eu pressionar três vezes, voltarei a four
, depois three
e, em seguida, two
conforme o esperado. Se eu pressionar enter, executarei o comando two
. Agora a história se parece com:
Se eu pressionar ↑ , verei two
. Se eu pressioná-lo novamente, verei four
e assim por diante.
Windows
Suponha que eu executei os mesmos quatro comandos ( one
, two
, three
, four
). Depois disso, o histórico de comandos (do mais antigo ao mais recente) se parece com:
Agora, se eu pressionar três vezes, voltarei a four
, depois three
e, em seguida, two
como antes. Se eu pressionar enter, executarei o comando two
. Agora pressionando ↑ novamente, ele ainda mostrará two
. Mas a história ainda parece:
O que isto significa é que eu "saltei" de volta para um ponto anterior da história. Agora eu posso pressionar ↑ para ver one
, ou ↓ para ver three
, etc.
Por que isso é útil
Isso é particularmente útil quando você acabou de executar uma série de comandos e deseja executá-los novamente. Envolve significativamente menos pressionamentos de tecla para executar toda a série novamente.
Existe uma maneira de fazer com que o bash se comporte da mesma maneira?