我正在编写一个Shell脚本,希望在支持256色时使用它。在公正的世界里,
xterm
应该将TERM
环境变量简单地设置为xterm-256color
,然后我可以使用tput colors
来发现其是否支持。但我们生活在不公正的世界中。即使使用TERM=xterm-256color
启动xterm
,它仍会将TERM
设置为xterm
。从Shell脚本中有没有办法发现脚本是否在连接到运行在256色xterm
窗口的tty时运行?如果可以,我可以自己设置环境变量。
XTERM_VERSION
的起源可以追溯到2005年,而256色支持则始于1999年,然而软件包可能已经配置了这个功能,也可能没有。 - Thomas Dickey