Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

Déplacer le curseur

Des codes d'échappement peuvent être utilisés pour positionner le curseur. Ceci est couramment utilisé pour fournir une horloge ou un autre type d'informations à un emplacement différent sur l'écran, tel qu'un coin supérieur à chaque fois que l'invite est dessinée. Voici une liste des codes d'échappement qui positionnent le curseur :


Tableau 13-4 : Séquences d'échappement du mouvement du curseur

Escape Code Action

\033[l;cH Déplacer le curseur sur la ligne l et colonne c


image

\033[nA Déplacer le curseur vers le haut n lignes


image

\033[nB Déplacer le curseur vers le bas n lignes


image

\033[nC Déplacer le curseur vers l'avant n caractères


image

\033[nD Déplacer le curseur vers l'arrière n caractères


image

\033[2J Effacer l'écran et déplacer le curseur dans le coin supérieur gauche (ligne 0, colonne 0)


image

\033[K Effacer de la position du curseur à la fin de la ligne courante


image

\033[s Stocke la position actuelle du curseur


image

\033[u Rappeler la position du curseur mémorisé


image


En utilisant les codes ci-dessus, nous allons construire une invite qui dessine une barre rouge en haut de l'écran contenant une horloge (rendue en texte jaune) chaque fois que l'invite est affichée. Le code de l'invite est cette formidable chaîne de caractères :



PS1="\[\033[s\033[0;0H\033[0;41m\033[K\033[1;33m\t\033[0m\033[u\]

<\u@\h \W>\$ "

PS1="\[\033[s\033[0;0H\033[0;41m\033[K\033[1;33m\t\033[0m\033[u\]

<\u@\h \W>\$ "


Jetons un coup d'œil à chaque partie de la chaîne pour voir ce qu'elle fait :

Déplacer le curseur


Tableau 13-5 : Répartition de la chaîne d'invite complexe


Action de séquence

Action de séquence

\[ Commence une séquence de caractères non imprimables. Le but de ceci est de permettre à bash de calculer correctement la taille de l'invite visible. Sans un calcul précis, les fonctionnalités d'édition de la ligne de commande ne peuvent pas positionner correctement le curseur.


image

\033[s Stocke la position du curseur. Ceci est nécessaire pour revenir à l'emplacement de l'invite une fois que la barre et l'horloge ont été dessinées en haut de l'écran. Sachez que certains émulateurs de terminaux ne reconnaissent pas ce code.


image

\033[0;0H Déplacez le curseur dans le coin supérieur gauche, qui correspond à la ligne 0, colonne 0.


image

\033[0;41m Réglez la couleur d'arrière-plan sur rouge.


image

\033[K Effacer à partir de l'emplacement actuel du curseur (le coin supérieur gauche) jusqu'à la fin de la ligne. Puisque la couleur d'arrière-plan est maintenant rouge, la ligne est effacée de cette couleur créant notre barre. Notez qu'effacer jusqu'à la fin de la ligne ne modifie pas la position du curseur, qui reste dans le coin supérieur gauche.


image

\033[1;33m Réglez la couleur du texte sur jaune.


image

\t Afficher l'heure actuelle. Bien qu'il s'agisse d'un élément « d'impression », nous l'incluons toujours dans la partie non imprimable de l'invite, car nous ne voulons pas que bash inclue l'horloge lors du calcul de la taille réelle de l'invite affichée.


image

\033[0m Désactiver la couleur. Cela affecte à la fois le texte et l'arrière-plan.


image

\033[u Restaure la position du curseur enregistrée précédemment.


image

\] Termine la séquence de caractères non imprimables.


image

<\u@\h \W>\$ Chaîne d'invite.


image


Meilleur système d'exploitation Cloud Computing chez OnWorks :