Mon problème est que le shell Bash cesse de montrer les caractères que je saisis. Il lit les commandes cependant.
J'ai rencontré ce problème à plusieurs reprises et je ne comprends pas ce qui le cause. Je sais comment le résoudre, mais je ne l'aime pas vraiment quand je "voodooing" ma façon de sortir des problèmes.
Je vais décrire les deux façons dont j'ai rencontré ce problème:
J'exécute un certain processus, lien et parfois, lorsque j'arrête ou que le contrôle est interrompu, il est renvoyé au shell. Lorsque je vais ensuite taper des commandes dans le shell, les caractères que je tape ne s'affichent pas. Lorsque j'appuie sur Entrée, les commandes sont soumises. Donc par exemple:
- Je tape "ls"
- Je ne vois qu'une invite vide et rien de plus
- J'appuie sur Entrée et je reçois une liste des fichiers, en d’autres termes: la commande est exécutée
- quand je donne la commande "reset", le shell recommence à fonctionner normalement
La deuxième façon de procéder est lorsque je donne une commande comme celle-ci:
$ grep foo * -l | xargs vim
J'utilise grep pour trouver les fichiers qui ont un certain modèle, puis je veux ouvrir tous les fichiers résultant de grep. Cela fonctionne comme un charme (mais pas aussi vite que je l'espérais). Mais quand je quitte Vim, mon shell ne montre plus les caractères que je saisis. Une commande de réinitialisation résout le problème.
Je pense que les deux problèmes ont une raison sous-jacente, mais je suis un peu déconcerté par la façon ou la nature de cette raison.
La recherche de ce problème est elle-même problématique car la description est plutôt vague et n’a pas de termes de recherche rigoureux.
Modifier
Donner le
stty --all
La commande selon la requête de John S. Gruber a donné la sortie suivante (espace blanc modifié pour une meilleure lisibilité)
speed 0 baud;
rows 53;
columns 186;
line = 0;
intr = <undef>;
quit = <undef>;
erase = <undef>;
kill = <undef>;
eof = <undef>;
eol = <undef>;
eol2 = <undef>;
swtch = <undef>;
start = <undef>;
stop = <undef>;
susp = <undef>;
rprnt = <undef>;
werase = <undef>;
lnext = <undef>;
flush = <undef>;
min = 0;
time = 0;
-parenb
-parodd cs8
-hupcl
-cstopb cread
-clocal
-crtscts
-ignbrk
-brkint
-ignpar
-parmrk
-inpck
-istrip
-inlcr
-igncr
-icrnl
-ixon
-ixoff
-iuclc
-ixany
-imaxbel
-iutf8
-opost
-olcuc
-ocrnl
-onlcr
-onocr
-onlret
-ofill
-ofdel nl0 cr0 tab0 bs0 vt0 ff0
-isig
-icanon
-iexten
-echo
-echoe
-echok
-echonl
-noflsh
-xcase
-tostop
-echoprt
-echoctl
-echoke