271 votes

Comment vous écho à un caractère unicode de 4 chiffres en bash

Je voudrais ajouter l'Unicode crâne et des os croisés à mon invite du shell (plus précisément le "CRÂNE ET os croisés' (U+2620)) mais je ne peux pas comprendre l'incantation magique pour faire écho à cracher, ou toute autre, les 4 chiffres de caractères Unicode. 2 chiffres sont faciles echo-e "\x55", par exemple.

Outre les réponses ci-dessous, il convient de noter que, à l'évidence, votre terminal doit en charge unicode pour la sortie à quoi vous vous attendez. gnome-terminal fait un bon travail de cela, mais il n'est pas nécessairement activé par défaut. Rendez-vous au Terminal-> Définir l'Encodage de Caractère et de choisir Unicode (UTF-8).

283voto

vartec Points 53382
En UTF-8, il est en fait à 6 chiffres (ou 3 octets).

-)

Pour vérifier comment il est codé par votre console, vous pouvez utiliser hexdump.

177voto

Juliano Points 13802
% echo -e '\u2620'
☠
% $SHELL --version
zsh 4.3.4 (i386-redhat-linux-gnu)

75voto

RobM Points 2681

Tant que votre texte-les éditeurs peuvent faire face à Unicode (probablement codé en UTF-8) vous pouvez entrer le code Unicode-point directement.

Par exemple, dans l' vim éditeur de texte vous pouvez entrer en mode insertion et appuyez sur CTRL+VU , puis le code-point numéro 4-nombre de chiffres hexadécimaux (pad avec des zéros si nécessaire). Si vous tapez CTRL+VU 2 6 2 0.

À un terminal exécutant Bash vous tapez CTRL+MAJ+U et tapez le code hexadécimal du caractère que vous souhaitez. Lors de la saisie de votre curseur doit montrer souligné u. Le premier chiffre que vous tapez extrémités d'entrée, et rend le personnage. Si vous pourriez être en mesure d'imprimer U+2620 dans Bash en utilisant les éléments suivants:

echo CTRL+MAJ+U2620ENTRÉEENTRÉE

(La première entrée se termine saisie Unicode, le second exécute l' echo de la commande)

Crédit: http://askubuntu.com/questions/32764/using-alt-keycode-for-accents/32768#32768

37voto

Orwellophile Points 2695

Ne Voici une implémentation BASH entièrement interne, aucun fourche, taille illimitée de caractère unicode.

Sortie a été :

14voto

Joachim Sauer Points 133411

Il suffit de mettre « ☠ » dans votre script shell. Dans la langue correcte et sur une console compatible Unicode, il va imprimer très bien :

Une laide « contournement » serait à la sortie de la séquence UTF-8, mais cela dépend aussi de l’encodage utilisé :

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X