Colors

如何使用 putty/bash 顯示 xterm 顏色?

  • June 11, 2020

Putty 有我想使用的“允許終端使用 xterm 256 顏色模式”,但我不知道如何使用。我一直在使用color.sh腳本來輸出帶有顏色的回顯語句和命令,我想用 xterm 顏色做類似的事情。

#!/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"

根據 PuTTY 使用者手冊,這應該預設啟用

如果您的應用程序應該使用 256 色模式但它不工作,您可能會發現您需要告訴伺服器您的終端支持 256 色。在 Unix 上,您可以通過確保 TERM 的設置描述支持 256 色的終端來做到這一點。您可以使用以下命令進行檢查infocmp

$ infocmp | grep colors
        colors#256, cols#80, it#8, lines#24, pairs#256,

如果您沒有colors#256在輸出中看到,您可能需要更改終端設置。在現代 Linux 機器上,您可以嘗試xterm-256color.

如果您希望在特定應用程序(如 Vim 或 Emacs)中使用 256 種顏色,則有單獨的指南說明如何實現:

對我來說,我必須進入設置並設置終端類型。設置->連接>數據>終端類型更改為xterm-256color.

引用自:https://unix.stackexchange.com/questions/20257