GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo agregar un ícono al indicador de bash

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.


Linux
  1. Cómo encontrar el número de núcleos en Ubuntu

  2. ¿Cómo puedo recordar el argumento del comando bash anterior?

  3. ¿Cómo configurar el color del símbolo del sistema en Bash?

  4. ¿Cómo mostrar la ruta actual en el símbolo del sistema en sh (no bash) de Linux?

  5. ¿Cómo cambiar rápidamente la primera palabra en un comando Bash?

Cómo usar el comando Bash let {con ejemplos}

Cómo usar el comando de lectura Bash

Cómo personalizar Bash Prompt en Linux

Cómo obtener la cantidad de procesadores/núcleos en Linux

Cómo encontrar archivos con docenas de criterios con el comando Bash Find

¿Cómo agregar un comando en el editor vim?