Cosa posso fare se bash smette di fare eco?


10

Una delle applicazioni che uso sul lavoro a volte si avvita con la mia bash e quindi non vedo più i miei input. ie

$ echo foo
foo
$

diventa

$ foo $

Ho tentato erroneamente di eseguire il stty -echoche peggiorava le cose e ora smette di accettare tutti i comandi che mettono il mio input in uno stato che fa >apparire ogni volta che interrompo la linea e nient'altro.

Che cosa avrei dovuto fare?


2
Prova a correre resetper un buon inizio. Naturalmente non è possibile immettere ora qualsiasi comando in questo modo da un altro terminale qualcosa di una prova del genere cat >/dev/pts/3, dove 3è il tuo numero di terminale problematica e poi ha colpito i seguenti tasti: ESC c ENTER Ctrl-D.
jimmij,

Risposte:


19

Il solito rimedio per cose come questa è

stty sane

Il stty -echonon dovrebbe hanno reso questo peggio, come quella appena si spegne l'eco di ingresso, e si già avuto questo.

Il fatto che tu dica restituisce solo le cause >di apparire significa che hai iniziato qualcosa che sta causando la continuità sulle righe successive, ad esempio echo 'lo farà perché è in attesa che la chiusura 'termini la stringa. Anche altre cose causeranno questo, come ad esempio if something; sta aspettando la then ... fiparte.

Probabilmente avresti potuto colpire ctrl- ca quel punto per fermarlo in attesa del resto del comando, a meno che il terminale non fosse così incasinato da non generare interruzioni.


Ah, ha senso. Ho provato a colpire entrambi ctrl + ce ctrl + zma non sembra aver realizzato nulla.
Kit Sunde,

3

Oltre alla risposta di @ wurtel (in particolare la probabile spiegazione del >problema), stty echoè l'opposto di stty -echo, quindi potresti usarlo. Puoi anche usare reset, che di solito viene fornito con i pacchetti ncurses.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.