In realtà, sì, puoi.
Nelle versioni recenti di Bash, almeno 4 (potrei farlo in 4.2 e 4.3), puoi rendere emoji con l'esadecimale.
Usa lo echo -e
bandiera.
incolla un'emoji in cui hai cercato e fai un dump esadecimale per vedere di cosa è fatta:
plasmarob ~ $ echo -n ""| hexdump
0000000 f0 9f 87 ba f0 9f 87 b8
0000008
E poi prendi quella linea superiore e sfuggi a ogni coppia di esagoni con \x :
plasmarob ~ $ echo -e 'See? \xf0\x9f\x87\xba\xf0\x9f\x87\xb8'
See?
In realtà ho modificato il mio in:
plasmarob ~ ⚡
Quindi sì, trovane uno come questo e prova ad aggiungerlo al tuo .bashrc
o .bash_profile
.
Modifica:qualcosa con SO o il rendering del browser potrebbe essere cambiato perché la bandiera in questo post ora viene visualizzata come un carattere "US". YMMV ma presumo che funzionerà ancora nelle versioni dichiarate di bash.
Al giorno d'oggi, puoi aggiungere emoji se hai un carattere che riconosce le emoji. Immagino che questa non fosse un'opzione facilmente praticabile quando la domanda è stata originariamente pubblicata
Ho scritto questo post sul blog a riguardo un paio di anni fa.
Non so delle bandiere americane, ma export PS1="\360\237\232\251 > "
ottiene un flag nel tuo prompt.
Ho anche scritto uno strumento shell per rendere un po' più semplice la stampa degli escape per echo o shell prompt. Si chiama emo
Scusa no. I terminali non fanno grafica.
Per una descrizione completa di ciò che puoi fare, vedere la PROMPTING sezione della pagina man di bash(1):
RICHIESTA
Durante l'esecuzione interattiva, bash visualizza il prompt primario PS1 quando è pronto a leggere un comando e il prompt secondario PS2 quando ha bisogno di più input per completare un comando. Bash consente di personalizzare queste stringhe di prompt inserendo un numero di caratteri speciali con escape backslash che vengono decodificati come segue:
\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
Il numero del comando e il numero della cronologia sono generalmente diversi:il numero della cronologia di un comando è la sua posizione nell'elenco della cronologia, che può includere comandi ripristinati dal file della cronologia (vedere CRONOLOGIA di seguito), mentre il numero del comando è la posizione nella sequenza di comandi eseguiti durante la sessione di shell corrente. Dopo che la stringa è stata decodificata, viene espansa tramite l'espansione dei parametri, la sostituzione dei comandi, l'espansione aritmetica e la rimozione delle virgolette, in base al valore dell'opzione di shell promptvars (vedere la descrizione del comando shopt in COMANDI INCORPORATI DELLA SHELL di seguito).
Il \e
, \[
e \]
le sequenze di escape meritano un'attenzione speciale. Con questi puoi inserire codici di escape ANSI per comandare al terminale di cambiare il colore di primo piano, il colore di sfondo, spostare il cursore, cancellare parti dello schermo e fare altri trucchi fantasiosi.
Questo è, ad esempio, il modo in cui il tuo prompt cambia colore. \[\e[0;31m\]
imposta il colore di primo piano su rosso e \[\e[0;0m\]
lo ripristina al valore predefinito.