Как сценарий оболочки может определить, запущен ли он в окне xterm с поддержкой 256 цветов?

Я пишу сценарий оболочки, в котором я хотел бы использовать поддержку 256 цветов, если она присутствует. . В справедливом мире xtermпросто установил бы для переменной среды TERMзначение xterm-256color, и я бы использовал tput colors, чтобы обнаружить Поддержка.

Но мы живем в несправедливом мире. xtermустанавливает TERMв xtermдаже при запуске с TERM=xterm-256color. Есть ли что-нибудь, что я могу сделать из сценария оболочки, чтобы узнать, работает ли сценарий со стандартным выводом, подключенным к tty, работающему в 256-цветном окне xterm? Если это так, я могу установить переменную среды самостоятельно.

6
задан Norman Ramsey 18 June 2012 в 12:01
поделиться