2 votes

Comment certaines sorties de `cat` peuvent-elles changer la façon dont les caractères unicodes sont interprétés dans bash ?

C'est une question posée par pure curiosité :

J'ai un paramètre PS1 personnalisé dans bash qui est juste le répertoire courant, suivi d'un lambda minuscule ( ), par exemple ~ . J'ai accidentellement utilisé cat avec un fichier binaire, a annulé la sortie, et par la suite a eu la se transformer en deux caractères japonais pour le reste de la session. Lorsque l'on collait ce caractère depuis un autre endroit, il s'affichait également sous la forme de ces deux caractères japonais.

Maintenant, ma question est la suivante : comment la sortie de ce fichier binaire a-t-elle changé la façon dont bash interprète les caractères Unicode ?

5voto

John1024 Points 15663

ma question est, comment la sortie de ce fichier binaire a changé la façon dont bash interprète les caractères Unicode ?

Support des terminaux Unix standard Commandes ANSI/VT-100 qui peut contrôler les curseurs, les couleurs et les polices. Lorsque vous tapez un fichier binaire à l'écran, il est probable que certains de ces caractères binaires correspondent accidentellement à ces codes de contrôle et définissent les propriétés de votre terminal.

Pour ramener votre terminal à son état par défaut, exécutez :

reset

Exemples de séquences de contrôle du VT-100

Si vous souhaitez que le texte de votre teminal clignote, tapez :

echo -e '\E[5m'

Si vous voulez passer l'affichage en vidéo inverse, tapez :

echo -e '\E[7m'

Pour un exemple plus complexe, considérons le make qui peut produire beaucoup de résultats. Pour faciliter l'identification des éléments importants, vous pouvez mettre en évidence les éléments suivants ERR en vidéo inverse tout en affichant WARNING en gras. Le site code suivant ajoute les séquences de contrôle du VT-100 à la sortie de l'appareil. make pour obtenir cette mise en évidence sur le terminal :

make 2>&1 | sed -e 's/.*\bERR.*/\x1b[7m&\x1b[0m/i' -e 's/.*\bWARN.*/\x1b[1m&\x1b[0m/i'

Ce qui précède ajoute intentionnellement des séquences de contrôle. Quand un fichier binaire est tapé à l'écran, on ne peut pas savoir quelles séquences de contrôle VT-100 seront accidentellement activées.

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