<Sebelumnya | Konten | Selanjutnya>
Menambahkan warna
Sebagian besar program emulator terminal merespons urutan karakter non-cetak tertentu untuk mengontrol hal-hal seperti atribut karakter (seperti warna, teks tebal, dan teks berkedip yang menakutkan) dan posisi kursor. Kita akan sedikit menutupi posisi kursor, tapi pertama-tama kita akan melihat warna.
Kebingungan Terminal
Kembali ke zaman kuno, ketika terminal terhubung ke komputer jarak jauh, ada banyak merek terminal yang bersaing dan semuanya bekerja secara berbeda. Mereka memiliki keyboard yang berbeda dan mereka semua memiliki cara yang berbeda dalam menginterpretasikan informasi kontrol. Sistem Unix dan sistem mirip Unix memiliki dua subsistem yang agak kompleks untuk menangani babel kontrol terminal (disebut termcap dan istilah). Jika Anda melihat ke relung terdalam dari pengaturan emulator terminal Anda, Anda mungkin menemukan pengaturan untuk jenis emulasi terminal.
Dalam upaya untuk membuat terminal berbicara dalam bahasa yang sama, American National Standards Institute (ANSI) mengembangkan seperangkat standar urutan karakter untuk mengontrol terminal video. Pengguna DOS lama akan mengingat AN-SI.SYS file yang digunakan untuk mengaktifkan interpretasi kode-kode ini.
Warna karakter dikontrol dengan mengirimkan emulator terminal dan Kode pelarian ANSI tertanam dalam aliran karakter yang akan ditampilkan. Kode kontrol tidak "mencetak" pada tampilan, melainkan ditafsirkan oleh terminal sebagai instruksi. Seperti yang kita lihat pada tabel di atas, \[ dan \] urutan digunakan untuk merangkum karakter non-cetak. Kode escape ANSI dimulai dengan oktal 033 (kode yang dihasilkan oleh kunci escape), diikuti oleh atribut karakter opsional, diikuti dengan instruksi. Misalnya, kode untuk mengatur warna teks menjadi normal (atribut = 0), teks hitam adalah:
\033[0;30m
Berikut adalah tabel warna teks yang tersedia. Perhatikan bahwa warna dibagi menjadi dua kelompok, dibedakan dengan penerapan atribut karakter tebal (1) yang menciptakan tampilan warna “terang”:
Tabel 13- 2: Urutan Escape Digunakan Untuk Mengatur Warna Teks
Urutan | Warna teks | Urutan | Warna teks |
\033[0;30m | Black | \033[1;30m | Dark Gray |
\033[0;31m | Merah | \033[1;31m | Light Red |
\033[0;32m | Hijau | \033[1;32m | Lampu Hijau |
\033[0;33m | Coklat | \033[1;33m | Kuning |
\033[0;34m | Biru | \033[1;34m | Biru muda |
\033[0;35m | Ungu | \033[1;35m | Ungu muda |
Menambahkan warna
\033[0;36m | Cyan | \033[1;36m | Cyan ringan |
\033[0;37m | Abu-abu muda | \033[1;37m | Putih |
Mari kita coba membuat prompt merah. Kami akan memasukkan kode escape di awal:
$ PS1="\[\033[0;31m\]<\u@\h \W>\$ "
$
$ PS1="\[\033[0;31m\]<\u@\h \W>\$ "
$
Itu berfungsi, tetapi perhatikan bahwa semua teks yang kita ketik setelah prompt juga berwarna merah. Untuk memperbaikinya, kita akan menambahkan kode escape lain ke akhir prompt yang memberitahu emulator terminal untuk kembali ke warna sebelumnya:
$ PS1="\[\033[0;31m\]<\u@\h \W>\$\[\033[0m\] "
$
$ PS1="\[\033[0;31m\]<\u@\h \W>\$\[\033[0m\] "
$
Itu lebih baik!
Ini juga memungkinkan untuk mengatur warna latar belakang teks menggunakan kode yang tercantum di bawah ini. Warna latar belakang tidak mendukung atribut tebal.
Tabel 13-3: Urutan Escape Digunakan Untuk Mengatur Warna Latar Belakang
Urutan | Warna latar belakang | Urutan | Warna latar belakang |
\033[0;40m | Black | \033[0;44m | Biru |
\033[0;41m | Merah | \033[0;45m | Ungu |
\033[0;42m | Hijau | \033[0;46m | Cyan |
\033[0;43m | Coklat | \033[0;47m | Abu-abu muda |
Kita dapat membuat prompt dengan latar belakang merah dengan menerapkan perubahan sederhana pada kode escape pertama:
$ PS1="\[\033[0;41m\]<\u@\h \W>\$\[\033[0m\] "
<me@linuxbox ~>$
$ PS1="\[\033[0;41m\]<\u@\h \W>\$\[\033[0m\] "
<me@linuxbox ~>$
Cobalah kode warna dan lihat apa yang dapat Anda buat!
Catatan: Selain atribut karakter normal (0) dan bold (1), teks juga dapat diberikan atribut underscore (4), blinking (5), dan inverse (7). Demi selera yang baik, banyak emulator terminal menolak untuk menghormati atribut kedip, namun.