Este é um bug na conclusão do MacPorts. O relatório de erros é aqui .
Eu o consertei alterando meu shell para /opt/local/bin/bash
fornecido pela macports, usando este .
Os únicos dois aplicativos com os quais eu consegui reproduzir o problema são tail
e cat
. Se eu tail -f log/development.log
ou qualquer arquivo para esse assunto, e pressione CTRL-C para sair, quando eu digito comandos adicionais não há eco do teclado para a tela. Se eu apertar enter, os comandos são executados e geram saída, mas o eco do teclado ainda está quebrado.
Um detalhe interessante é que consegui restaurar o eco do teclado de algumas maneiras diferentes:
1) stty echo
2) irb
a execução de um desses comandos restaurará o eco do teclado até que um dos comandos incorretos seja encerrado com CTRL-C novamente.
Eu tentei configurar minha emulação de terminal para rxvt e xterm-color, mudando isso não parece fazer diferença.
Este é um bug na conclusão do MacPorts. O relatório de erros é aqui .
Eu o consertei alterando meu shell para /opt/local/bin/bash
fornecido pela macports, usando este .
Para redefinir seu terminal, use o reset
comando.
Eu não entendo porque tail
e cat
estão causando este problema, pois eles não devem fazer nada para afetar as configurações de linha do terminal. Você está usando o Terminal.app ou outro terminal? Você está usando o Bash ou outro shell? Você está executando screen
? Você tem mais alguma coisa que possa estar usando maldições ou fazendo alguma outra manipulação de tela? Você tem um trap
definido para Ctrl-C?
Para resumir o que Michael descobriu: o estoque MacOS Bash, v3.2.48(1)-release
, mais bash_completion como fornecido pelo MacPorts, faz com que alguns comandos ( tail(1)
, cat(1)
, etc.) desativem o eco TTY no shell após serem finalizados , como descrito em este bug . A correção é usar a versão MacPorts do Bash, como descrito aqui .
Por que vale a pena, eu encontrei o mesmo bug ao usar o bash-completion fornecido pelo Homebrew com a versão de estoque do Bash .
Eu tenho esse problema dentro de byobu (tela de execução, acredito) dentro de uma sessão ssh para uma caixa linux. Se eu canalizar, digamos, um comando rsync
exigindo uma senha para less
, less
pode ficar um pouco confuso. Ctrl-C me tira disso, mas o eco do teclado às vezes não funciona depois.
A solução de Michael Guterl resolve o problema:
stty echo
ps: Estou executando o bash integrado da apple: 4.2.45 (2) -release (i386-apple-darwin12.3.0)
Tags mac terminal terminal.app