Buyruqlar satrida Rojdestvo daraxti

Yangi yil keladi, men endi jiddiy ish haqida o'ylashni xohlamayman.

Har bir inson bayram uchun nimanidir bezashga harakat qilmoqda: uy, ofis, ish joyi ... Keling, bir narsani bezatamiz! Masalan, buyruq qatori so'rovi. Qaysidir ma'noda buyruq qatori ham ish joyidir.

Ba'zi tarqatishlarda u allaqachon "bezatilgan":

Buyruqlar satrida Rojdestvo daraxti

Boshqalarida u kulrang va ko'zga tashlanmaydi:

Buyruqlar satrida Rojdestvo daraxti

Va biz, masalan, shunday qilishimiz mumkin:

Buyruqlar satrida Rojdestvo daraxti

Albatta, barcha markerlar turli xil ta'm va ranglarga ega. Agar bunday rang berish sizga yoqimsiz va nomaqbul bo'lib tuyulsa, bilingki, bu nuqtai nazar hayotga to'liq huquqqa ega. Va agar siz ham bir oz yangi yil ruhini qo'shmoqchi bo'lsangiz, Cloud4Y-dan yangi yil haqidagi qisqa maqolani o'qing.

Birinchidan, men terminal chiqishi qanday "rangli" ekanligini tushuntiraman. Bu qochish ketma-ketliklari yordamida amalga oshiriladi. Yoki aniqrog'i, ANSI/VT100 terminalining boshqaruv kodlari ketma-ketligi. Bu avtomatik ravishda terminal emulyatoringiz ushbu standartni qo'llab-quvvatlashi kerakligini anglatadi, aks holda yangi yil mo''jizasi sodir bo'lmaydi. Ha, $SHELL sizning bashingiz deb taxmin qilinadi.

Ushbu buyruqlar qochish ketma-ketligi deb ataladi, chunki ularning har birining boshida ASCII belgisi "qochish" mavjud. Ko'pgina boshqaruv ketma-ketliklari mavjud va ular, masalan, terminal sozlamalarini ko'rsatish, kursorning ko'rinishi va harakatini boshqarish, shriftni o'zgartirish, matnni o'chirish va yashirish imkonini beradi. Biz turli xil imkoniyatlardan birini tanlaymiz - matn va fon rangini o'zgartirish.

Kodlar ketma-ketligini bajaring *ESC*[{attr1};...;{attrn}m
Ramz sifatida qochish uning sakkizlik shakli ishlatiladi, ya'ni 33. Atributlarga kelsak, bu erda mumkin bo'lgan qiymatlarning qisqa ro'yxati:

0 Barcha atributlarni tiklash
1 Yorqin (yorqinlik)
2 Xira
4 Pastki chiziq
5 Miltillash
7 Teskari
8 Yashirin (matnni yashirish)

Old fon ranglari (qalam rangi, matn shu rangda ko'rsatiladi):
30 Qora
31 Qizil
32 Yashil
33 Sariq
34 Moviy
35 Magenta (magenta)
36 Moviy (ko'k)
37 Oq

Fon ranglari (qog'oz rangi yoki fon rangi):
40 Qora
41 Qizil
42 Yashil
43 Sariq
44 Moviy
45 Magenta (magenta)
46 Moviy (ko'k)
47 Oq

E'tibor bering, agar siz hozir terminalda buyruq bersangiz: echo 33[0;31mнекоторый текст 33[0m’

... keyin siz bashorat qilingan holda chiqishda monoxrom gobbledygook olasiz:

Buyruqlar satrida Rojdestvo daraxti

Nega? Chunki echo buyrug'ining ilg'or imkoniyatlaridan foydalanish kerak edi. Bitta kalitni qo'shish kifoya: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

Chiqish endi to'g'ri ko'rinadi:

Buyruqlar satrida Rojdestvo daraxti

Chiqishning rangini terminalga ajratdik. Endi buyruq satrini qanday rang berishni ko'rib chiqamiz.

Bu PS1 o'zgaruvchisini o'zgartirish orqali amalga oshiriladi. O'zgaruvchi buyruq qatori so'rovi uchun javobgardir. Uning ko'rinishi ham o'zgartirilishi mumkin, shu jumladan qochish ketma-ketliklari yordamida. Ammo bir oz farq bor: siz ketma-ketlikni belgi bilan boshlashingiz kerak "[” va “ belgisi bilan tugaydi]”, aks holda u terminalga chiqariladi.

Barcha mumkin bo'lgan buyruqlar ketma-ketligi bash qo'llanmasida batafsil tavsiflangan, shuning uchun men o'quvchilarni buyruq satrida nimani ko'rishni afzal ko'rishlarini o'zlari tanlashga taklif qilaman. Misol sifatida, men PS1 o'zgaruvchisi uchun o'z qiymatimni beraman:

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

Men bu dahshatli afsunni hal qilaman:

[33[34;1m] — yorqin ko'k (ikkinchi atribut) shrift rangini yoqing
t – joriy vaqtni HH: MM: SS formatida ko'rsatish
[33[0m] – shrift rangi sozlamalarini tiklash
, - shunchaki vergul (kutilmagan, to'g'rimi?)
[33[32m] — yashil shrift rangini yoqing
u@l@h – “@” belgisi bilan ajratilgan foydalanuvchi nomi, terminal qurilmasi raqami va qisqa xost nomini ko‘rsatish
[33[0m] — shrift rangi sozlamalarini qayta tiklang
: - shunchaki yo'g'on nuqta (to'satdan!)
[33[33m] — sariq shrift rangini yoqing
W – joriy katalog nomini ko‘rsatish
[33[0m] — shrift rangi sozlamalarini qayta tiklang
, - boshqa vergul (kim o'ylagan bo'lardi!)
[33[31m] — qizil shrift rangini yoqing
! — terminalda buyruq raqamini ko'rsatish
[33[0m] - shrift rangi sozlamalarini tiklashni unutmang
$ — ildiz uchun “#” va qolganlar uchun “$” harfini chop eting
n - satr tarjimasi. Nima uchun? Shunday qilib, buyruq buyruq satri so'rovining oxirida emas, balki oynaning chap chetidan boshlanadi.

O'zgaruvchini qayerda qayta belgilash kerak? Buning uchun eng mantiqiy joy ~/.bashrc.

Taklifnomaning ko'rinishi faqat sizning tasavvuringiz bilan cheklangan. Asos sifatida, yuqorida tavsiflangan vositalardan foydalanib, Rojdestvo daraxti shaklida buyruq satri so'rovini yaratishga hech narsa to'sqinlik qilmaydi. To'g'ri, bunday taklifnoma juda og'ir bo'ladi va ish, albatta, qulayroq bo'lmaydi. Rojdestvo daraxti tizimga kirishda buyruq satrining yuqorisida oddiygina ko'rsatilishi mumkin (biz hali ham ~/.bashrc tahrirlashimiz kerak). Olg'a! Va e'tiboringiz uchun rahmat.

Buyruqlar satrida Rojdestvo daraxti

Blogda yana nimani o'qishingiz mumkin? Cloud4Y

GNU/Linux-da topni sozlash
Pentesters kiberxavfsizlikda birinchi o'rinda turadi
Ajablanadigan startaplar
Ma'lumot markazida yostiq kerakmi?
Robot qurgan uy

Bizning kanalimizga obuna bo'ling TelegramKeyingi maqolani o'tkazib yubormaslik uchun kanal! Biz haftada ikki martadan ko'p bo'lmagan va faqat biznes haqida yozamiz. Shuningdek, Cloud4Y korporativ bulut provayderi “FZ-152 Cloud oddiy narxda” aksiyasini ishga tushirganini eslatib o‘tamiz. Murojaat qilishingiz mumkin 31 dekabrgacha.

Manba: www.habr.com

a Izoh qo'shish