pertanyaan saya adalah, bagaimana output dari file biner ini mengubah bagaimana bash menginterpretasikan karakter Unicode?
Dukungan terminal Unix standar Perintah ANSI / VT-100 yang dapat mengontrol kursor, warna, dan font. Ketika Anda mengetik file biner ke layar, ada kemungkinan beberapa karakter biner akan secara tidak sengaja mencocokkan kode kontrol tersebut dan mengatur properti terminal Anda.
Untuk mengembalikan terminal Anda ke status default, jalankan:
reset
Contoh urutan kontrol VT-100
Jika Anda ingin teks di terminal berkedip, ketikkan:
echo -e '\E[5m'
Jika Anda ingin mengalihkan tampilan untuk membalikkan video, ketik:
echo -e '\E[7m'
Sebagai contoh yang lebih kompleks, pertimbangkan make
perintah yang dapat menghasilkan banyak output. Untuk membuatnya lebih mudah menemukan hal-hal penting, Anda mungkin ingin menyoroti ERR
dalam video terbalik saat menampilkan WARNING
dalam huruf tebal. Itu kode berikut menambahkan urutan kontrol VT-100 ke output make
untuk mendapatkan sorotan ini di terminal:
make 2>&1 | sed -e 's/.*\bERR.*/\x1b[7m&\x1b[0m/i' -e 's/.*\bWARN.*/\x1b[1m&\x1b[0m/i'
Di atas menambahkan urutan kontrol dengan sengaja. Ketika file biner diketik ke layar, tidak ada yang tahu urutan kontrol VT-100 yang akan diaktifkan secara tidak sengaja.
ESC ( 0
danESC ) 0
set "Set Karakter Grafis Khusus". Lebih lanjut tentang kode kontrol untuk mengatur set karakter dapat ditemukan sini . Saya menduga perlu beberapa penggalian melalui definisi font dan file konfigurasi untuk menentukan salah satu dari sekuens ini yang menghasilkan sistem Anda menampilkan lambda sebagai karakter Jepang.