Que shell permite chamar comandos com certo começo?

3

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.

    
por Mikhail 14.09.2011 / 19:10

3 respostas

3

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
    
por 14.09.2011 / 19:15
3

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 .

    
por 14.09.2011 / 19:15
0

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.

    
por 14.09.2011 / 21:54