Contenu | Rechercher | Menus

Annonce

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".
Test de l'ISO d'Ubuntu francophone : nous avons besoin de testeurs pour la version francophone d'Ubuntu 14.04. Liens et informations ici.

Attention, une faille de sécurité dans bash a récemment été rapportée, il est recommandé de mettre à jour son système (plus de détails) *** mise à jour 12/10/2014 ***

#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.


Linux-Mint Qiana 64 (Cinnamon) sur ASUS F2A55/AMD A8-5600K APU

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

Haut de page ↑