2010-09-15 2 views
9

Это второй раз, когда я хотел это сделать, и снова мой google-fu мне не удалось.Тестирование поддержки цвета в сценариях оболочки Linux

Когда в процессе запуска сценария оболочки (в моем случае скрипт bash) есть программа/скрипт, который проверяет, поддерживает ли текущая оболочка цвет?

Альтернативно, есть способ взять тип терминала и легко определить, поддерживает ли он цвет?

В любом случае было бы полезно.

ответ

16

Вы можете использовать tput colors.

Для моего терминала с TERM=xterm-256colors выход [drumroll] 256! Вот несколько примеров:

$ TERM=vt100 tput colors 
-1 
$ TERM=vt220 tput colors 
-1 
$ TERM=linux tput colors 
8 
$ TERM=cons25 tput colors 
8 
$ TERM=linux tput colors 
8 
$ TERM=rxvt-unicode tput colors 
88 

В качестве альтернативы tput -Tvt100 colors также позволит указать тип терминала вы заинтересованы в

+1

этом.! Вы сэр - джентльмен и ученый! Это такое легкое и изящное решение, я не уверен, почему он кажется таким неясным при поиске. –

+0

I <3 StackOverflow ... когда мне нужна такая способность, это уже ответили :) – pepoluan

Смежные вопросы