Vì grep
là một chương trình GNU nên một tùy chọn khác có thể có một cái nhìn về mã nguồn.
Grep nội bộ kiểm tra static int color_option
cho một trong hai 0
, 1
hoặc 2
.
0
không bao giờ sử dụng đầu ra màu
1
luôn luôn sử dụng màu sắc
2
Chỉ sử dụng màu sắc khi in tới thiết bị đầu cuối
Bây giờ khi bạn bàn giao --color=auto
cho grep làm đối số trên CLI của mình, nó sẽ đặt biến bên trong color_option
thành 2
.
Nếu color_option
bằng 2
grep
thì kiểm tra thêm xem có STDOUT
được liên kết với một thiết bị đầu cuối hoặc người dùng bị vô hiệu hóa kết xuất màu qua shell environment variables
. Nếu cái trước là đúng và đầu ra màu được cho phép, grep
thì tiếp tục với việc đánh giá màu nào sẽ được sử dụng và cuối cùng cuối cùng sẽ in ra CLI
màu của bạn .
nguồn: (grep 2.21)
grep.c line 306, 2374, 2440
colorize-posix.c line 36
man isatty
less -R
bạn có thể làm nổi bật trận đấu nhưng bạn cần chỉ định--color=always
grep để nó hoạt động.