Karena grep
merupakan program GNU, pilihan lain mungkin melihat kode sumbernya.
Grep internal menguji static int color_option
apakah 0
, 1
atau 2
.
0
tidak pernah menggunakan keluaran berwarna
1
selalu menggunakan warna
2
hanya menggunakan warna saat mencetak ke terminal
Sekarang ketika Anda menyerahkan --color=auto
ke grep sebagai argumen pada CLI Anda, secara internal menetapkan variabel color_option
untuk 2
.
Jika color_option
sama 2
grep
maka tes lebih lanjut apakah STDOUT
terkait dengan terminal atau pengguna dinonaktifkan melalui colokan berwarna shell environment variables
. Jika yang pertama adalah benar dan keluaran berwarna diijinkan, grep
kemudian lanjutkan dengan mengevaluasi warna mana yang harus digunakan dan pada akhirnya mencetak ke CLI
dalam warna Anda.
sumber: (grep 2.21)
grep.c line 306, 2374, 2440
colorize-posix.c line 36
man isatty
less -R
Anda bisa mendapatkan sorotan pertandingan tetapi Anda harus menentukan--color=always
agar grep itu berfungsi.