En fait, oui, vous pouvez.
Dans les versions récentes de Bash, au moins 4 (je pouvais le faire en 4.2 et 4.3), vous pouvez rendre les emoji avec l'hex.
Utilisez le echo -e
drapeau.
collez un emoji que vous avez recherché et faites un hexdump pour voir de quoi il est composé :
plasmarob ~ $ echo -n ""| hexdump
0000000 f0 9f 87 ba f0 9f 87 b8
0000008
Et puis prenez cette ligne du haut et échappez à chaque paire d'hexagones avec \x :
plasmarob ~ $ echo -e 'See? \xf0\x9f\x87\xba\xf0\x9f\x87\xb8'
See?
En fait, j'ai modifié le mien pour qu'il soit :
plasmarob ~ ⚡
Alors oui, trouvez-en un comme celui-ci et essayez de l'ajouter à votre .bashrc
ou .bash_profile
.
Modifier :Quelque chose avec SO ou le rendu du navigateur peut avoir changé parce que le drapeau dans ce message est maintenant rendu comme un caractère "US". YMMV mais je suppose que cela fonctionnera toujours dans les versions indiquées de bash.
De nos jours, vous pouvez ajouter des emoji si vous avez une police compatible avec les emoji. Je suppose que ce n'était pas une option facilement viable lorsque la question a été initialement publiée
J'ai écrit ce billet de blog à ce sujet il y a quelques années.
Je ne sais pas pour les drapeaux américains, mais export PS1="\360\237\232\251 > "
obtient un indicateur dans votre invite.
J'ai également écrit un outil shell pour faciliter un peu l'impression des échappements pour l'écho ou l'invite du shell. Ça s'appelle emo
Non désolé. Les terminaux ne font pas de graphiques.
Pour une description complète de ce que vous pouvez faire, voir l'INVITE section de la page de manuel bash(1) :
INVITE
Lors d'une exécution interactive, bash affiche l'invite principale PS1 lorsqu'il est prêt à lire une commande, et l'invite secondaire PS2 lorsqu'il a besoin de plus d'entrées pour terminer une commande. Bash permet de personnaliser ces chaînes d'invite en insérant un certain nombre de caractères spéciaux échappés par une barre oblique inverse qui sont décodés comme suit :
\a an ASCII bell character (07) \d the date in "Weekday Month Date" format (e.g., "Tue May 26") \D{format} the format is passed to strftime(3) and the result is inserted into the prompt string; an empty format results in a locale-specific time representation. The braces are required \e an ASCII escape character (033) \h the hostname up to the first ‘.’ \H the hostname \j the number of jobs currently managed by the shell \l the basename of the shell’s terminal device name \n newline \r carriage return \s the name of the shell, the basename of $0 (the portion following the final slash) \t the current time in 24-hour HH:MM:SS format \T the current time in 12-hour HH:MM:SS format \@ the current time in 12-hour am/pm format \A the current time in 24-hour HH:MM format \u the username of the current user \v the version of bash (e.g., 2.00) \V the release of bash, version + patch level (e.g., 2.00.0) \w the current working directory, with $HOME abbreviated with a tilde (uses the value of the PROMPT_DIRTRIM variable) \W the basename of the current working directory, with $HOME abbreviated with a tilde \! the history number of this command \# the command number of this command \$ if the effective UID is 0, a #, otherwise a $ \nnn the character corresponding to the octal number nnn \\ a backslash \[ begin a sequence of non-printing characters, which could be used to embed a terminal control sequence into the prompt \] end a sequence of non-printing characters
Le numéro de commande et le numéro d'historique sont généralement différents :le numéro d'historique d'une commande est sa position dans la liste d'historique, qui peut inclure des commandes restaurées à partir du fichier d'historique (voir HISTOIRE ci-dessous), tandis que le numéro de commande est la position dans la séquence des commandes exécutées pendant la session shell en cours. Une fois la chaîne décodée, elle est étendue via l'expansion des paramètres, la substitution de commande, l'expansion arithmétique et la suppression des guillemets, sous réserve de la valeur de l'option shell promptvars (voir la description de la commande shopt sous COMMANDES SHELL BUILTIN ci-dessous).
Le \e
, \[
et \]
les séquences d'échappement méritent une attention particulière. Avec ceux-ci, vous pouvez insérer des codes d'échappement ANSI pour ordonner au terminal de changer la couleur de premier plan, la couleur d'arrière-plan, de déplacer le curseur, d'effacer des parties de l'écran et de faire d'autres astuces.
C'est, par exemple, comment votre invite change de couleur. \[\e[0;31m\]
définit la couleur de premier plan sur rouge, et \[\e[0;0m\]
le réinitialise à la valeur par défaut.