martes, 27 de enero de 2009

Bash: printf() en color

El siguiente código permite escribir 'en color' en terminales bash.


#include <stdio.h>

#define COLOR_RED "\e[31m"
#define COLOR_B_RED "\e[31;1m"
#define COLOR_GREEN "\e[32m"
#define COLOR_B_GREEN "\e[32;1m"
#define COLOR_YELLOW "\e[33m"
#define COLOR_B_YELLOW "\e[33;1m"
#define COLOR_BLUE "\e[34m"
#define COLOR_B_BLUE "\e[34;1m"
#define COLOR_MAGENTA "\e[35m"
#define COLOR_BRIGHT "\e[1m"
#define COLOR_CYAN "\e[36m"
#define COLOR_NONE "\e[m"

int main(int argc, char *argv[])
{
    printf(COLOR_RED "hello world\n" COLOR_NONE);
    printf(COLOR_B_RED "hello world\n" COLOR_NONE);
    printf(COLOR_GREEN "hello world\n" COLOR_NONE);
    printf(COLOR_B_GREEN "hello world\n" COLOR_NONE);
    printf(COLOR_YELLOW "hello world\n" COLOR_NONE);
    printf(COLOR_B_YELLOW "hello world\n" COLOR_NONE);
    printf(COLOR_BLUE "hello world\n" COLOR_NONE);
    printf(COLOR_B_BLUE "hello world\n" COLOR_NONE);
    printf(COLOR_CYAN "hello world\n" COLOR_NONE);
    printf(COLOR_MAGENTA "hello world\n" COLOR_NONE);
    printf(COLOR_BRIGHT "hello world\n" COLOR_NONE);
    return 0;
}

2 comentarios:

Anónimo dijo...

Con el bash de windows 7 no funciona.

Anónimo dijo...

Perfecto. Funciona de 10 en Linux.