Mon problème est que le Shell de Bash n'affiche plus les caractères que je tape dedans. Il lit cependant les commandes.
J'ai rencontré ce problème à plusieurs reprises et je n'en comprends pas la cause. Je sais comment le résoudre, mais je n'aime vraiment pas quand je dois faire du "vaudou" pour me 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, http://pythonpaste.org/script/ et parfois quand j'arrête ça ou que ça casse le contrôle est rendu au Shell. Quand 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 soumis. Ainsi, par exemple :
- Je tape "ls"
- Je ne vois qu'une invite vide et rien de plus
- J'appuie sur la touche "Entrée" et j'obtiens une liste des fichiers, autrement dit : la commande est exécuté
- quand je donne la commande "reset", le Shell recommence à fonctionner normalement.
La deuxième façon dont cela se produit 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 et je veux ensuite ouvrir tous les fichiers qui résultent du grep. Cela fonctionne comme un charme (bien que pas aussi rapidement que je l'avais espéré). Mais lorsque je quitte Vim, mon Shell cesse d'afficher les caractères que je tape dedans. Une commande de réinitialisation résout le problème.
Je pense que les deux problèmes ont une raison sous-jacente, mais je ne sais pas comment ni quelle est cette raison.
La recherche de ce problème est elle-même problématique car la description est assez vague et ne comporte pas de termes de recherche précis.
Modifier
Donner le
stty --all
conformément à la demande de John S. Gruber a donné le résultat suivant (les espaces ont été modifiés pour faciliter la lecture)
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