【问题标题】:Unix Shell scripting to change background colour of putty用于更改腻子背景颜色的 Unix Shell 脚本
【发布时间】:2013-11-26 05:36:41
【问题描述】:

有没有办法通过 shell 脚本改变 putty 的背景颜色? 例如:假设我从 putty 登录到服务器 X。现在我想在服务器 X 中编写一个脚本,这样当我对服务器 Y 执行 ssh 时,腻子的背景颜色应该变为红色,而当我从 X 对服务器 Z 执行 ssh 时,背景颜色应该是绿色。 谁能告诉我有没有办法做到这一点?

【问题讨论】:

  • 这适用于我在 linux 中,不知道 putty...setterm -term linux -back blue -fore white -clear

标签: shell unix ssh putty


【解决方案1】:

使用转义码颜色(它们取决于终端,因此请查阅您自己的设备信息以获取特定值)

我在我的 AIX 上使用(变量名可以更短)

#-- move
__Term_Disp_Esc_LF="\n"
__Term_Disp_Esc_CR="\r"
__Term_Disp_Esc_INVT="\033[7m"
__Term_Disp_Esc_NORM="\033[0m"
__Term_Disp_Esc_BOLD="\033[1m"
__Term_Disp_Esc_BLINK="\033[5m"
__Term_Disp_Esc_UNDR="\033[2m\033[4m"
__Term_Disp_Esc_EOL="\033[0K"
__Term_Disp_Esc_EOD="\033[0J"
__Term_Disp_Esc_UNDR="\033[4m"
__Term_Disp_Esc_EOL="\033[0K"
__Term_Disp_Esc_EOD="\033[0J"
__Term_Disp_Esc_SOD="\033[1;1f"
__Term_Disp_Esc_CUR_UP="\033[1A"
__Term_Disp_Esc_CUR_DOWN="\033[1B"
__Term_Disp_Esc_CUR_LEFT="\033[1D"
__Term_Disp_Esc_CUR_RIGHT="\033[1C"

#-- ANSI code
__Term_Disp_Esc_SCR_HOME="\033[0;0H" #-- Home of the display

#-- Color
__Term_Disp_Esc_BLACK_F="\033[30m"
__Term_Disp_Esc_BLACK_B="\033[40m"
__Term_Disp_Esc_RED_F="\033[31m"
__Term_Disp_Esc_RED_B="\033[41m"
__Term_Disp_Esc_GREEN_F="\033[32m"
__Term_Disp_Esc_GREEN_B="\033[42m"
__Term_Disp_Esc_YELLOW_F="\033[33m"
__Term_Disp_Esc_YELLOW_B="\033[43m"
__Term_Disp_Esc_BLUE_F="\033[34m"
__Term_Disp_Esc_BLUE_B="\033[44m"
__Term_Disp_Esc_MAGENTA_F="\033[35m"
__Term_Disp_Esc_MAGENTA_B="\033[45m"
__Term_Disp_Esc_CYAN_F="\033[36m"
__Term_Disp_Esc_CYAN_B="\033[46m"
__Term_Disp_Esc_WHITE_F="\033[37m"
__Term_Disp_Esc_WHITE_B="\033[47m"

# Example: bold
#echo "${__Term_Disp_Esc_BOLD}Bold test ${__Term_Disp_Esc_NORM}"

【讨论】: