Тестирование поддержки цвета в сценариях оболочки Linux - PullRequest
9 голосов
/ 16 сентября 2010

Это второй раз, когда я хотел это сделать, и снова мой google-fu подвел меня.

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

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

В любом случае это будет полезно.

1 Ответ

16 голосов
/ 16 сентября 2010

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

Для моего терминала с TERM=xterm-256colors выходной сигнал [барабанная дробь] 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 также позволит вам указать интересующий вас тип терминала.

...