Depuis un moment maintenant, j'ai eu ce problème persistant sur tous mes terminaux, du gnome par défaut et tilda que j'utilise tous les deux à ceux que je viens de donner un tourbillon rapide, où mon entrée écrasera le début de sa propre ligne quand il le devrait envelopper et envelopper uniquement sur la ligne suivante.
Appuyer sur Ctrl-A pour revenir au début de la ligne me renverra à la place quelque part dans la ligne avant ma première ligne d'entrée, à partir de laquelle toute entrée devient très bizarre.
Parce que c'est une très mauvaise explication et difficile à visualiser, voici à quoi cela ressemble:
Est-ce que quelqu'un sait ce que c'est? Cela ne se produit pas seulement dans certaines circonstances, c'est une chose permanente qui est toujours présente du début à la fin de chaque session dans chaque émulateur de terminal.
Sortie de printf "%s\n" "$PS1" "$COLUMNS"
:
leod:~$ printf "%s\n" "$PS1" "$COLUMNS"
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$
80
Sortie de stty -a
:
leod:~$ stty -a
speed 38400 baud; rows 11; columns 140; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = <undef>; eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z;
rprnt = ^R; werase = ^W; lnext = ^V; discard = ^O; min = 1; time = 0;
-parenb -parodd -cmspar 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 -flusho -extproc
la source
printf "%s\n" "$PS1" "$COLUMNS"
, s'il vous plaît.test
laisse le terminal dans un état instable. Si c'est un script, pouvez-vous l'inclure dans votre question? Que se passe-t-il si vous commencez à taper sans exécuter d'test
abord, le texte s'habille-t-il normalement?stty -a
s'il vous plaît?type -a test
plutôt.printf "%q\n" "$PS1"
? Il peut y avoir des séquences d'échappement brutes à l'intérieur de PS1 et les%s
laisse intactes (ce qui pourrait par exemple changer la couleur d'avant en arrière qui reste inaperçue dans la sortie).%q
cite chaque caractère non imprimable d'une manière lisible.Réponses:
Il est possible que votre terminal ne reconnaisse pas correctement la taille de la fenêtre. J'ai trouvé une question connexe dans U&L Stackexchange , et quelqu'un a suggéré la méthode ci-dessous pour vérifier si c'est ce qui se passe:
Type
Si la sortie n'est pas:
Vous pouvez utiliser
activer. Pour désactiver:
shopt -u checkwinsize
la source
checkwinsize
était déjàon
. J'avais l'habitudeshopt -u checkwinsize
de le désactiver et mon terminal encapsulait toujours le texte correctement. Je ne sais pas si cette réponse résout vraiment le problème OP.