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":
Boshqalarida u kulrang va ko'zga tashlanmaydi:
Va biz, masalan, shunday qilishimiz mumkin:
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:
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:
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.
Blogda yana nimani o'qishingiz mumkin?
→
→
→
→
→
Bizning kanalimizga obuna bo'ling
Manba: www.habr.com