Pokok Krismas pada baris arahan

Tahun Baru akan datang, saya tidak mahu memikirkan kerja serius lagi.

Semua orang cuba menghias sesuatu untuk percutian: rumah, pejabat, tempat kerja... Mari kita menghias sesuatu juga! Contohnya, gesaan baris arahan. Pada tahap tertentu, baris arahan juga merupakan tempat kerja.

Dalam sesetengah pengedaran ia sudah "dihiasi":

Pokok Krismas pada baris arahan

Dalam yang lain, ia berwarna kelabu dan tidak mencolok:

Pokok Krismas pada baris arahan

Dan kita boleh lakukan, sebagai contoh, seperti ini:

Pokok Krismas pada baris arahan

Sudah tentu, semua penanda mempunyai rasa dan warna yang berbeza. Jika pewarnaan sedemikian kelihatan tidak sesuai dan tidak sesuai untuk anda, maka ketahuilah bahawa sudut pandangan ini mempunyai hak untuk hidup. Dan jika anda juga ingin menambah sedikit semangat Tahun Baru, teruskan membaca artikel pendek Tahun Baru dari Cloud4Y.

Pertama, saya akan menerangkan bagaimana output terminal "berwarna". Ini dilakukan menggunakan urutan melarikan diri. Atau lebih tepat lagi, jujukan kod kawalan terminal ANSI/VT100. Ini secara automatik bermakna bahawa emulator terminal anda mesti menyokong standard ini, jika tidak, keajaiban Tahun Baru tidak akan berlaku. Dan ya, $SHELL diandaikan sebagai bash anda.

Arahan ini dipanggil urutan melarikan diri kerana pada permulaan setiap daripadanya terdapat watak ASCII "melarikan diri". Terdapat banyak jujukan kawalan, dan ia membenarkan, sebagai contoh, untuk memaparkan tetapan terminal, mengawal paparan dan pergerakan kursor, menukar fon, memadam dan menyembunyikan teks. Kami akan memilih satu daripada pelbagai kemungkinan - menukar warna teks dan latar belakang.

Laksanakan urutan kod *ESC*[{attr1};...;{attrn}m
Sebagai simbol Melarikan diri bentuk oktalnya digunakan, iaitu 33. Bagi atribut, berikut ialah senarai pendek nilai yang mungkin:

0 Tetapkan semula semua atribut
1 Cerah (peningkatan kecerahan)
2 Malap
4 Garis bawah
5 Kejap
7 terbalik
8 Tersembunyi (sembunyikan teks)

Warna Latar Depan (warna pen, teks dipaparkan dalam warna ini):
30 Hitam
31 merah
32 hijau
33 Kuning
34 Biru
35 Magenta (magenta)
36 Cyan (biru)
37 Putih (Π±Π΅Π»Ρ‹ΠΉ)

Warna Latar Belakang (warna kertas atau warna latar belakang):
40 Hitam
41 merah
42 hijau
43 Kuning
44 Biru
45 Magenta (magenta)
46 Cyan (biru)
47 Putih (Π±Π΅Π»Ρ‹ΠΉ)

Ambil perhatian bahawa jika anda kini perintah dalam terminal: echo 33[0;31mΠ½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ тСкст 33[0m’

...maka anda dijangka akan mendapat gobbledygook monokrom pada output:

Pokok Krismas pada baris arahan

kenapa? Kerana ia adalah perlu untuk menggunakan keupayaan lanjutan arahan gema. Ia cukup untuk menambah satu kunci: echo -e β€˜ 33[0;31mΠ½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ тСкст 33[0m’

Output kini akan kelihatan betul:

Pokok Krismas pada baris arahan

Kami telah menyusun pewarnaan output ke terminal. Sekarang mari kita lihat bagaimana untuk mewarnakan arahan arahan.

Ini dilakukan dengan menukar pembolehubah PS1. Pembolehubah bertanggungjawab untuk gesaan baris arahan. Penampilannya juga boleh diubah, termasuk menggunakan urutan melarikan diri. Tetapi terdapat sedikit perbezaan: anda perlu memulakan urutan dengan simbol "[”, dan diakhiri dengan simbol β€œ]”, jika tidak, ia akan dikeluarkan ke terminal.

Semua urutan arahan yang mungkin diterangkan secara terperinci dalam manual bash, jadi saya menjemput pembaca untuk memilih sendiri perkara yang mereka suka lihat pada gesaan baris arahan. Sebagai contoh, saya akan memberikan nilai saya untuk pembolehubah PS1:

[ 33[34;1m]t[ 33[0m],[ 33[32m]u@l@h[ 33[0m]:[ 33[33m]W[ 33[0m],[ 33
[31m]![ 33[0m]$n

Saya akan menguraikan mantra yang mengerikan ini:

[ 33[34;1m] β€” hidupkan warna fon biru terang (atribut kedua).
t – paparkan masa semasa dalam format HH: MM: SS
[ 33[0m] – tetapkan semula tetapan warna fon
, - hanya koma (tidak dijangka, bukan?)
[ 33[32m] β€” hidupkan warna fon hijau
u@l@h – paparkan nama pengguna, nombor peranti terminal dan nama hos pendek, dipisahkan dengan simbol β€œ@”.
[ 33[0m] β€” tetapkan semula tetapan warna fon sekali lagi
: - hanya kolon (tiba-tiba!)
[ 33[33m] β€” hidupkan warna fon kuning
W – paparkan nama direktori semasa
[ 33[0m] β€” tetapkan semula tetapan warna fon sekali lagi
, - satu lagi koma (siapa sangka!)
[ 33[31m] β€” hidupkan warna fon merah
! β€” paparkan nombor arahan dalam terminal
[ 33[0m] - jangan lupa untuk menetapkan semula tetapan warna fon
$ β€” cetak β€œ#” untuk root dan β€œ$” untuk orang lain
n - terjemahan baris. Untuk apa? Supaya arahan itu bermula di tepi kiri tetingkap, bukannya pada penghujung gesaan baris arahan.

Di mana untuk mentakrifkan semula pembolehubah? Tempat yang paling logik untuk melakukan ini ialah ~/.bashrc.

Kemunculan jemputan hanya terhad oleh imaginasi anda. Pada dasarnya, tiada apa yang menghalang anda daripada membuat gesaan baris arahan dalam bentuk pokok Krismas menggunakan alat yang diterangkan di atas. Benar, jemputan sedemikian akan menjadi sangat rumit, dan kerja pasti tidak akan menjadi lebih mudah. Pokok Krismas hanya boleh dipaparkan di atas gesaan baris arahan semasa log masuk (kita masih perlu mengedit ~/.bashrc). Berusaha untuk mendapatkannya! Dan terima kasih atas perhatian anda.

Pokok Krismas pada baris arahan

Apa lagi yang anda boleh baca di blog? Cloud4Y

β†’ Menyediakan bahagian atas dalam GNU/Linux
β†’ Pentesters di barisan hadapan keselamatan siber
β†’ Startup yang boleh mengejutkan
β†’ Adakah bantal diperlukan di pusat data?
β†’ Rumah yang dibina oleh robot

Langgan kami Telegram-saluran supaya anda tidak terlepas artikel seterusnya! Kami menulis tidak lebih daripada dua kali seminggu dan hanya mengenai perniagaan. Kami juga mengingatkan anda bahawa penyedia awan korporat Cloud4Y telah melancarkan promosi "FZ-152 Cloud pada harga biasa". Anda boleh memohon sehingga 31 Disember.

Sumber: www.habr.com

Tambah komen