O bash tem ambos ^ M e ^ J ligados a accept-line
por padrão, então você também pode usar.
No Unix bash, quando executo stty intr ^M
(^ M é Control-M) eu efetivamente me bloqueei de executar qualquer comando. Sempre que pressiono a tecla "return", estou enviando o sinal de interrupção para o shell e meu comando nunca é executado. Suponha que eu tivesse isso no meu .profile (eu não, na verdade ...); como eu poderia sair desse buraco de uma sessão bash com o ^ M configurado para disparar um sinal de interrupção?
Chris
O bash tem ambos ^ M e ^ J ligados a accept-line
por padrão, então você também pode usar.
Em geral (ou seja, se as coisas estão ainda mais confusas do que isso e você não sabe como corrigi-las), você pode executar stty
de outro tty usando
stty sane < /dev/whatever
stty intr ^c < /dev/whatever
Se você não tiver certeza do que tty tem as configurações confusas, use who
ou ps
para descobrir o que ttys você está usando e apenas stty < /dev/whatever
cada um até encontrar o que está errado .
Eu sugeriria stty sane ^J
, mas isso não redefine a interrupção. Você terá que fazer algo assim:
$ stty intr ^C^J
O ^C
representa o Control-C. Geralmente você pode conseguir isso pressionando Control-V / Control-C.
Tags bash