Outputting Coloured Text to a Linux Terminal
In order to enhance the visual appeal of your terminal applications, it may be desirable to output text with colour. But how do you achieve this on a Linux terminal?
ANSI Colour Codes
The secret lies in using ANSI colour codes, also known as escape sequences. These are embedded within the text to specify the desired colour and formatting. For instance, the following code will print "bold red text" in red:
cout << "3[1;31mbold red text3[0m\n";
Escape Sequence Format
The escape sequence consists of the following components:
Supported Colours and Formats
The following colours and formats are supported by most terminals:
Foreground | Background | Format |
---|---|---|
black | black | reset |
red | red | bold/bright |
green | green | underline |
yellow | yellow | inverse |
blue | blue | bold/bright off |
magenta | magenta | underline off |
cyan | cyan | inverse off |
white | white | bold/bright on |
Checking Terminal Support
To determine if your terminal supports colour codes, you can check the value of the TERM environment variable. This value should correspond to a terminal type that you can look up in the terminfo database using the colors capability.
The above is the detailed content of How Do I Output Colored Text to a Linux Terminal?. For more information, please follow other related articles on the PHP Chinese website!