Sua Ctrl - r está sendo interceptada pelo mecanismo de processamento de linha de terminal do kernel.
Enquanto sleep
está em execução, o terminal está no modo cozido, o que significa que o editor de linha tty baseado em kernel está funcionando. O editor de linha tty suporta edição de linha de comando rudimentar. A tecla de apagamento (geralmente definida como Ctrl - h (backspace) ou Del ) e a tecla kill (usualmente Ctrl-U ) são as teclas de edição especial mais conhecidas que podem ser usadas neste modo. Este editor de linhas é útil: é o que permite que utilitários interativos que não usam readline nem curses leiam linhas completas de entrada do terminal, permitindo que o usuário faça correções de digitação.
Mas há outra chave especial ativa nesse modo. Você pode vê-lo junto com as outras configurações chave na saída de stty -a
sob o nome rprnt
e sua configuração padrão é ... você adivinhou ... Ctrl - r . A função dessa chave é repintar a linha de comando atual, caso ela tenha sido corrompida ou desalinhada devido a outra saída de terminal.
Para evitar isso, você pode desativar a função com stty rprnt undef
.
Pessoalmente, estou acostumado a Ctrl - r ser interpretado como um comando repaint e fico surpreso toda vez que tento fazer isso em bash
e ele faz algo diferente!