En realidad, sí, puedes.
En versiones recientes de Bash, al menos 4 (podría hacerlo en 4.2 y 4.3), puedes generar emoji con el hex.
Utilice el echo -e
bandera.
pega un emoji en el que buscaste y haz un hexdump para ver de qué está hecho:
plasmarob ~ $ echo -n ""| hexdump
0000000 f0 9f 87 ba f0 9f 87 b8
0000008
Y luego toma esa línea superior y escapa de cada par hexadecimal con \x :
plasmarob ~ $ echo -e 'See? \xf0\x9f\x87\xba\xf0\x9f\x87\xb8'
See?
De hecho, modifiqué el mío para que sea:
robo de plasma ~ ⚡
Así que sí, cree uno como este e intente agregarlo a su .bashrc
o .bash_profile
.
Editar:algo con SO o la representación del navegador puede haber cambiado porque la bandera en esta publicación ahora se muestra como un carácter "EE. UU.". YMMV, pero supongo que seguirá funcionando en las versiones indicadas de bash.
Hoy en día, puede agregar emoji si tiene una fuente compatible con emoji. Supongo que esta no era una opción fácilmente viable cuando la pregunta se publicó originalmente
Escribí esta entrada de blog al respecto hace un par de años.
No sé sobre banderas americanas, pero export PS1="\360\237\232\251 > "
obtiene una bandera en su aviso.
También escribí una herramienta de shell para facilitar un poco la impresión de los escapes para echo o shell prompt. Se llama emo
Lo siento, no. Las terminales no hacen gráficos.
Para obtener una descripción completa de lo que puede hacer, vea las INDICACIONES sección de la página man de bash(1):
IMPORTANTE
Cuando se ejecuta de forma interactiva, bash muestra el indicador principal PS1 cuando está listo para leer un comando y el indicador secundario PS2 cuando necesita más información para completar un comando. Bash permite que estas cadenas de mensaje se personalicen mediante la inserción de una serie de caracteres especiales con barra invertida que se decodifican de la siguiente manera:
\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
El número de comando y el número de historial suelen ser diferentes:el número de historial de un comando es su posición en la lista de historial, que puede incluir comandos restaurados desde el archivo de historial (consulte HISTORIA a continuación), mientras que el número de comando es la posición en la secuencia de comandos ejecutados durante la sesión de shell actual. Una vez que se decodifica la cadena, se expande a través de la expansión de parámetros, la sustitución de comandos, la expansión aritmética y la eliminación de comillas, sujeto al valor de la opción de shell de promptvars (consulte la descripción del comando shopt en COMANDOS INTEGRADOS DE SHELL a continuación).
El \e
, \[
y \]
Las secuencias de escape merecen especial atención. Con estos, puede insertar códigos de escape ANSI para ordenar al terminal que cambie el color de primer plano, el color de fondo, mueva el cursor, borre partes de la pantalla y haga otros trucos sofisticados.
Así es, por ejemplo, cómo cambia el color de su aviso. \[\e[0;31m\]
establece el color de primer plano en rojo y \[\e[0;0m\]
lo restablece al valor predeterminado.