Đây:
http://en.wikipedia.org/wiki/ANSI_escape_code
(lưu ý: rất nhiều trong số chúng thường không hoạt động, nhưng hầu hết trong số chúng được đánh dấu như vậy.)
Tôi đang tạo một trò chơi trong thiết bị đầu cuối và đã phụ thuộc rất nhiều vào liên kết trên. Nó thậm chí còn cho bạn biết cách ẩn / bỏ ẩn con trỏ, tạo màu (30 giây), "đậm" (sáng hơn), tối hơn, gạch chân, in nghiêng, màu nền (40 giây thay vì 30 giây), v.v. Bạn cũng có thể thay đổi vị trí của con trỏ ( rất hữu ích - ví dụ: "\x1B[1A"
di chuyển con trỏ lên một dòng, "\x1B[0;0H"
di chuyển con trỏ đến hàng 0, col 0; "\x1B[2J"
xóa màn hình, "\x1B[2K"
xóa dòng.
Đối với mục đích của bạn như mọi người đã nói:
echo -e "\x1b[30;44m black with blue background \x1b[m"
echo -e "\x1b[31;42m red with green background \x1b[m"
echo -e "\x1b[32;40m green with black background \x1b[m"
echo -e "\x1b[8m Invisible; na na na na boo boo \x1b[m"
Lưu ý: Bạn cần sự -e
trong
echo **-e** "\x1b[35;1m Light purple \x1b[m"
hoặc bạn cần sử dụng dấu ngoặc đơn. Gõ man echo
để xem tại sao (dấu ngoặc kép thường gây khó khăn khi in; khi tôi cần công cụ không mở rộng hoặc tôi cần trình tự thoát ANSI, tôi sử dụng dấu ngoặc đơn vì nó rất dễ - mặc dù tôi đã quen với nó từ việc đó rất nhiều lần - để quên -e trong trường hợp bạn nhận được " box with numbers and letters
[35; 1m").
Mỗi khi bạn thấy CSI
thay thế nó bằng "\x1b["
(hoặc "\e["
hoặc "\u1b["
). "\x1b["
Tôi nghĩ là tiêu chuẩn hơn, nhưng tôi không thực sự biết sự khác biệt giữa chúng là gì.