2010-09-15 12 views
9

To już drugi raz, kiedy chciałem to zrobić i znowu mój google-fu mnie zawiódł.Testowanie obsługi kolorów w skryptach powłoki Linux

Kiedy w trakcie uruchamiania skryptu powłoki (w moim przypadku skryptu bash) istnieje program/skrypt, który sprawdza, czy bieżąca powłoka obsługuje kolor?

Alternatywnie istnieje sposób, aby wziąć typ terminala i łatwo określić, czy obsługuje kolor?

W każdym razie byłoby to pomocne.

Odpowiedz

16

Można użyć tput colors.

Dla mojego terminalu z TERM=xterm-256colors wyjście to [drumroll] 256! Oto kilka innych przykładów:

$ 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 

Alternatywnie tput -Tvt100 colors będzie również pozwalają określić rodzaj terminala jesteś zainteresowany

+1

to.! Pan jest dżentelmenem i uczonym! To takie proste i eleganckie rozwiązanie, nie jestem pewien, dlaczego wydaje się to tak mało znane podczas wyszukiwania. –

+0

I <3 StackOverflow ... gdy potrzebuję takiej umiejętności, odpowiedź jest już udzielona :) – pepoluan

Powiązane problemy