#1 Le 10/07/2010, à 00:34
- ehmicky
[Résolu]Séquence d'échappement \e
Salut à tous,
Alors, est-ce que comme moi, lorsque vous tapez
echo -e '\eZ'
dans un terminal, vous obtenez quelque chose d'étrange ??
Pour ma part, j'obtiens un output "62;9;c", mais non pas dans l'output mais au début de ma prochaîne ligne de commande !
Je me pose vraiment des questions sur cette séquence \e. Elle émule le control character x1B, ESC, qui était jadis utilisé pour commencer une séquence d'échappement. Aujourd'hui (avec les IBM PC), la touche ESC par exemple ne renvoie plus vraiment ce control character. Il est toutefois utilisé dans les séquences ANSI sous la forme \e ou \033 mais je ne savais pas qu'il avait d'autres fonctions.
Apparamment ici, il a l'air d'émuler un CTRL, et donc taper un CTRL-Z (DEL) qui provoquerait cet output. Cependant en tapant echo -e '\e...' avec plusieurs lettres, on voit que les séquences associées à un raccourci clavier dans le terminal semble produire un output différent dans la console.
Tout ça pour poser donc la question :
- Pourquoi echo -e '\eZ' produit-il cet ouput ?
Merci beaucoup !
Dernière modification par ehmicky (Le 10/07/2010, à 14:38)
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne
#2 Le 10/07/2010, à 09:01
- serged
Re : [Résolu]Séquence d'échappement \e
La séquence "Escape Z" renvoie par le terminal l'identification du terminal. Donc la séquence est vue comme entrée avec le clavier.
Voir : Xterm Control Sequences.
LinuxMint Vera Cinnamon et d'autres machines en MATE, XFCE... 20.x , 21.x ou 19.x
Tour : Asus F2A55 / AMD A8-5600K APU 3,6GHz / RAM 16Go / Nvidia GeForce GT610 / LM21.1 Cinnamon
Portable : LDLC Mercure MH : Celeron N3450 /RAM 4Go / Intel HD graphics 500 i915 / biboot Win 10 (sur SSD) - LM21.1 MATE (sur HDD)
Hors ligne
#3 Le 10/07/2010, à 09:05
- credenhill
Re : [Résolu]Séquence d'échappement \e
hello
même chose.
ça à l'air plus lié au shell bash qu'au teminal, puisque qu'en sh ça ne se produit pas, mais avec export TERM=dumb ca se produit.
est ce que Esc-Z est une commande emacs ?
Hors ligne
#4 Le 10/07/2010, à 14:37
- ehmicky
Re : [Résolu]Séquence d'échappement \e
Merci pour vos réponses,
Alors j'ai passé la nuit là-dessus et donc j'en ai appris plus les séquences d'échappement ANSI, \e, terminfo...
Et donc du coup vos réponses résolvent mon problème. Merci aussi pour le lien qui est vraiment exhaustif sur la question !
PS : Je me suis posé la question parce que j'ai cherché à isoler les caractères qui faisaient buguer un terminal après un cat /dev/urandom ^^
Merci ^^
Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?
Hors ligne