O que posso fazer se o bash parar de ecoar?

8

Um dos aplicativos que eu uso no trabalho, às vezes, é parafusado com o meu bash e, portanto, não vejo mais minhas próprias entradas. Ou seja,

$ echo foo
foo
$

torna-se

$ foo $

Eu tentei incorretamente executar o stty -echo , o que piorou as coisas e agora ele pára de aceitar todos os comandos que colocam minha entrada em algum estado que só faz com que > apareça toda vez que eu quebrar a linha e nada mais.

O que eu deveria ter feito?

    
por Kit Sunde 30.10.2014 / 10:20

2 respostas

14

O remédio habitual para coisas assim é

stty sane

O stty -echo não deveria ter feito isso pior, pois isso desativa o eco da entrada e você já tinha isso.

O fato de você dizer que retorna só faz com que > apareça significa que você começou algo que está causando continuidade nas próximas linhas, por exemplo, echo ' fará isso porque está aguardando o fechamento de ' para finalizar a sequência. Outras coisas também causarão isso, como if something ; está aguardando a parte then ... fi .

Você poderia provavelmente ter pressionado ctrl - c naquele estágio para pará-lo esperando pelo resto do comando, a menos que o terminal estivesse tão confuso que as interrupções também fossem não sendo gerado.

    
por 30.10.2014 / 12:17
2

Além da resposta do @ wurtel (especialmente a explicação provável do problema > ), stty echo é o oposto de stty -echo , então você pode usar isso. Você também pode usar reset , que geralmente vem com pacotes ncurses.

    
por 30.10.2014 / 12:35