Bash permite isso quando você tem o seguinte descomentado em .inputrc
:
# alternate mappings for up/down arrows to search the history
"\e[B": history-search-forward
"\e[A": history-search-backward
Programas como matlab / octave e tenho certeza que muitos outros permitem que você comece a digitar um comando, e então pressione Up para recuperar o último comando que começa com os caracteres digitados.
O shell comum do linux bash
não faz isso. Existe uma casca diferente que faz?
Eu não estou perguntando como descobrir o último comando, estou perguntando se há um shell que é um pouco mais amigável.
Bash realmente faz isso, quando você o configura para fazer isso. Coloque isso em ~/.inputrc
:
"\e[B": history-search-forward
"\e[A": history-search-backward
Em seguida, as teclas de seta up e down pesquisarão o histórico usando o prefixo do comando atual até o cursor.
Essas funções não estão ligadas por padrão. Existem outros comandos de pesquisa de histórico, consulte aqui .
Você deseja usar a pesquisa de histórico direta e inversa. Do bash (1):
reverse-search-history (C-r)
Search backward starting at the current line and moving 'up'
through the history as necessary. This is an incremental
search.
forward-search-history (C-s)
Search forward starting at the current line and moving 'down'
through the history as necessary. This is an incremental
search.
Basta pressionar ^ R e digitar stat, exatamente o que você solicita. Pressione ^ R várias vezes para navegar pelos resultados.