2010-09-15 34 views
9

Đây là lần thứ hai tôi muốn thực hiện việc này và một lần nữa Google-fu của tôi đã không thành công.Kiểm tra hỗ trợ màu trong các kịch bản lệnh shell của Linux

Khi trong quá trình chạy tập lệnh shell (trong trường hợp của tôi là tập lệnh bash) có một chương trình/tập lệnh kiểm tra xem vỏ hiện tại có hỗ trợ màu không?

Cách khác là có cách lấy kiểu thiết bị đầu cuối và dễ dàng xác định xem nó có hỗ trợ màu không?

Dù bằng cách nào thì cũng hữu ích.

Trả lời

16

Bạn có thể sử dụng tput colors.

Đối với thiết bị đầu cuối của tôi với TERM=xterm-256colors đầu ra là [drumroll] 256! Dưới đây là một số ví dụ khác:

$ 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 

Ngoài ra tput -Tvt100 colors cũng sẽ cho phép bạn chỉ định các loại thiết bị đầu cuối bạn quan tâm đến

+1

này.! Bạn, quý ngài, một quý ông, và một học giả! Đây là một giải pháp dễ dàng và thanh lịch, tôi không chắc tại sao nó có vẻ mơ hồ trong khi tìm kiếm. –

+0

Tôi <3 StackOverflow ... chỉ khi tôi cần khả năng như vậy, nó đã được trả lời :) – pepoluan

Các vấn đề liên quan