Apakah ada yang seperti ini di Unix?
$ echo "this should show in red" | red
$ echo "this should show in green" | green
$ echo "this should show in blue" | blue
Di sini saya tidak bermaksud untuk teks kode warna literal untuk muncul (untuk disisipkan dalam file, misalnya). Maksud saya teks tersebut benar-benar muncul di terminal sebagai warna itu. Apakah ini mungkin?
rgb001
,rgb123
dll. Lihat perldoc.perl.org/Term/ANSIColor.html#Supported-Colors untuk detail lebih lanjut.Anda akan menggunakannya
tput
untuk itu:Ini dapat digunakan untuk membangun pipa:
Warna dasar masing-masing hitam (0), merah (1), hijau, kuning, biru, magenta, cyan dan putih (7). Anda akan menemukan semua detail di halaman
terminfo(5)
manual .sumber
Dengan
zsh
:Lalu:
sumber
(seperti yang dibahas dalam komentar, gunakan
tput
sebaliknya jika Anda memilikinya)Menggunakan bourne shell dan
echo
(built-in) perintah yang memahami opsi ANSI melarikan diri\e
dengan-e
:atau, skrip shell yang lebih umum (katakanlah,
/usr/local/bin/colorize
):IFS=
diperlukan untuk mencegah pemotongan spasi putih (lihat POSIX untuk detailnya).sumber
tput
.