How to display xterm colors with putty/bash

colorsputtyxterm

Putty has this "allow terminal use xterm 256 colour mode" that I'd like to use, but I don't know how. I've been using a color.sh script to output echo statements and commands with colors, and I want to do something like that with xterm colors.

#!/bin/bash
## Specify color to write in using arguments

function --help {
cat << EOF

ERROR: $0 requires a color argument.

USAGE: Changes the color of the text piped into it.

These color arguments are availabe:

    ARGUMENT    SHORTCUT
    white   ------  w
    red ------  r
    green   ------  g
    yellow  ------  y
    blue    ------  b
    violet  ------  v
    teal    ------  t

    bold    ------  bb

The "bold" argument will modify any color.
Use a max of 2 arguments (one color and bold).

EOF
}

function bold {
# make the color bold
BOLD=1\;
}

function white {
COLOR=1
}

function red {
COLOR=31
}

function green {
COLOR=32
}

function yellow {
COLOR=33
}

function blue {
COLOR=34
}

function violet {
COLOR=35
}

function teal {
COLOR=36
}


## shortcuts
function bb {
bold
}
function w {
white
}
function r {
red
}
function g {
green
}
function y {
yellow
}
function b {
blue
}
function v {
violet
}
function t {
teal
}
function o {
red
bold
}

## Execution

if [ "$#" = 0 ]
then
--help
fi

while (($#));
    do
        $1
        shift
    done

echo -n "["$BOLD""$COLOR"m"
cat
echo -n "[0m"

Best Answer

According to the PuTTY user manual this should be enabled by default:

If you have an application which is supposed to use 256-colour mode and it isn't working, you may find you need to tell your server that your terminal supports 256 colours. On Unix, you do this by ensuring that the setting of TERM describes a 256-colour-capable terminal. You can check this using a command such as infocmp:
$ infocmp | grep colors
        colors#256, cols#80, it#8, lines#24, pairs#256,
If you do not see colors#256 in the output, you may need to change your terminal setting. On modern Linux machines, you could try xterm-256color.

If you are looking to use 256 colours in a specific application, like Vim or Emacs, there are separate guides for how to achieve that:

Related Question