1 votes

Comment annuler "stty intr ^M"

Sur Unix bash, lorsque j'exécute stty intr ^M (^M est Control-M), je me bloque effectivement de l'exécution de toutes les commandes. Chaque fois que j'appuie sur la touche "retour", j'envoie le signal d'interruption au shell et ma commande n'est jamais exécutée. Supposons que j'avais ceci dans mon fichier .profile (en réalité, je ne l'ai pas..); comment pourrais-je me sortir de cette situation depuis une session bash avec ^M configuré pour déclencher un signal d'interruption?

Chris

3voto

Bash a à la fois ^M et ^J liés à accept-line par défaut, vous pouvez donc utiliser l'un ou l'autre.

2voto

Random832 Points 621

En général (c'est-à-dire, si les choses sont encore plus désordonnées que ça et que vous ne savez pas comment les réparer autrement), vous pouvez exécuter stty à partir d'une autre tty en utilisant

stty sane < /dev/whatever
stty intr ^c < /dev/whatever

Si vous n'êtes pas sûr quelle tty a les paramètres désordonnés, utilisez who ou ps pour découvrir quelles tty vous utilisez, et simplement exécutez stty < /dev/whatever une par une jusqu'à trouver celle qui ne va pas.

0voto

Gaim Points 2614

Je m'apprêtais à suggérer stty sane ^J, mais cela ne réinitialise pas l'envoi d'interruption. Vous devrez faire quelque chose comme ceci :

$ stty intr ^C^J

Le ^C représente le Control-C. Vous pouvez généralement l'obtenir en appuyant sur Control-V / Control-C.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X