Gần đây đã có xu hướng sử dụng các công cụ dòng lệnh để sử dụng màu ANSI ưa thích trong đầu ra nhật ký của chúng (ví dụ: NPM và một loạt các công cụ dựa trên nodejs, rvm, docker và một vài công cụ "hiện đại" khác).
Điều này làm cho nó dễ đọc trên màn hình (*), nhưng không hay khi bạn muốn chuyển đầu ra sang tệp nhật ký hoặc thông qua một phương tiện giao thông không xử lý tốt ANSI, như các công cụ thực thi từ xa khác nhau và các giải pháp giám sát dựa trên web. Rất nhiều công cụ hoàn thiện hơn ít nhất có độ chính xác để phát hiện khi đầu ra không phải là TTY và vô hiệu hóa màu, nhưng không phải với các CLI "thân thiện với người dùng" mới bị làm mờ đó - khiến tôi cố gắng loại bỏ các màu ANSI bằng đường ống đầu ra thông qua một quá trình khác.
s/\x1B\[[0-9]*\w//g
Có vẻ như đầu ra thông qua việc hoàn thành công việc, nhưng có một cách tiếp cận sạch hơn sau đó chỉ cần sao chép các biểu thức thông thường vào tất cả các tập lệnh của tôi?
(*) ít nhất cho đến khi công cụ cố gắng hiển thị lỗi màu đỏ sẫm trên thiết bị đầu cuối nền tối của bạn.
is there a cleaner approach then just copy pasting regular expressions into all of my scripts?
- Lưu bộ lọc dọn dẹp của bạn vào một tệp có tên '/ usr / local / bin / tướcttycolor.sh` hoặc một cái gì đó? Bằng cách đó bạn có regex giới hạn trong một vị trí?
--no-color
cờ. Nhiều lệnh khác cũng có cờ tương tự.
bower
.