¿Existe alguna página de manual para la salida de shell en color?

¿Existe alguna página de manual para la salida de shell en color?

Ya sabes, esa salida coloreada creada por secuencias de caracteres especiales, por ejemplo:

echo -e "\e[34m Hello\n \e[0m"

Esto producirá la palabra "Hola" coloreada en azul. Para hacer esto tuve que buscar en la web, y es difícil, porque diferentes fuentes pueden decir algo diferente. Pensé que debía haber algunos manuales, pero no pude encontrarlos. Incluso con apropos coloro algo similar. Entonces, la pregunta es: ¿dónde puedo encontrar manuales confiables?

Respuesta1

Hay demasiadas fuentes de información para enumerarlas en esta página:

  • El comando echo -eutiliza unextensiónpara representar \ecomo ASCII 27 (octal 33 o "\033"). La forma portátil de imprimir estos usosprintf(POSIX). Comparar con el estándarecho(POSIX).
  • Su ejemplo se puede reescribir como

    printf "\033[34m Hello\n \033[0m"

  • el estándar para los escapes de color esECMA-48(Funciones de control para juegos de caracteres codificados).
  • En ECMA-48, 8.3.117 SGR - SELECCIONAR RENDICIÓN GRÁFICA enumera secuencias de control para configurar 8 colores de primer plano y 8 de fondo.
  • También enumera los códigos 39/49 "color de visualización predeterminado (definido por la implementación)" y 38/48 "reservados para una futura estandarización; destinados a establecer el color de primer plano de los caracteres como se especifica en ISO 8613-6 [Recomendación CCITT T.416]". Es decir, existe una recomendación de otra organización pero (hasta ahora, después de 24 años) no se ha incluido en el estándar.
  • Al leerlo atentamente, podrá notar que el estándar es vago en muchos lugares, lo que permite diferentes interpretaciones. Describe elsintaxisde estas secuencias de control pero no describe sucomportamiento. Para eso hay que acudir a la documentación de los respectivos terminales.
  • La documentación para xterm se encuentra enSecuencias de control XTerm, que supone estar familiarizado con la documentación de DEC que se encuentra enhttp://vt100.net
  • para otros terminales, sus páginas de manual pueden enumerar los controles (como se hace para la consola Linux encódigos_consola).
  • otros terminales se documentan como "xterm"; para discusión consulte las preguntas frecuentes de xtermComparación de versiones, contando controles.. Afortunadamente, los controles de color sonprincipalmentecompatible (pero consulte las preguntas frecuentes sobre ncurses)Mi terminal muestra algunos espacios sin color.).
  • También puede leer las páginas del manual paratput, que le permite utilizarterminfocapacidades en un script de shell. Su ejemplo podría reescribirse como

    printf '%s\n' "$(tput setaf 4)Hello$(tput setaf 0)"
    
  • algunas fuentes como laCómo solicitar Bashy elGuía avanzada de secuencias de comandos Bashmencionan el color, pero (incluso estos) por regla general tienen lagunas y omisiones y no son útiles con respecto a ECMA-48.

  • la mayoría de las otras fuentes que encontrará en una copia de búsqueda web de otras fuentes (como las citadas), etc., y como regla general prestan poca atención al estándar real.

información relacionada