Командын мөрөнд зул сарын гацуур мод

Шинэ жил болох гэж байна, би цаашид ноцтой ажлын талаар бодохыг хүсэхгүй байна.

Баярын өдрөөр хүн бүр ямар нэгэн зүйл чимэглэхийг хичээж байна: гэр, оффис, ажлын байр ... Бид ч бас нэг зүйлийг чимэглэцгээе! Жишээлбэл, командын мөрийн мөр. Тодорхой хэмжээгээр командын мөр нь бас ажлын байр юм.

Зарим хуваарилалтад энэ нь аль хэдийн "чимэглэгдсэн" байна:

Командын мөрөнд зул сарын гацуур мод

Бусад тохиолдолд энэ нь саарал өнгөтэй, мэдэгдэхүйц биш юм:

Командын мөрөнд зул сарын гацуур мод

Жишээлбэл, бид дараахь зүйлийг хийж чадна.

Командын мөрөнд зул сарын гацуур мод

Мэдээжийн хэрэг, бүх маркерууд өөр өөр амт, өнгөтэй байдаг. Хэрэв ийм өнгө нь танд наалдамхай, тохиромжгүй мэт санагдаж байвал энэ үзэл бодол нь амьдрах бүрэн эрхтэй гэдгийг мэдэж аваарай. Хэрэв та шинэ жилийн баярыг бага зэрэг нэмэхийг хүсч байвал Cloud4Y-ээс шинэ жилийн тухай богино нийтлэлийг уншина уу.

Эхлээд би терминалын гаралт хэрхэн "өнгөтэй" болохыг тайлбарлах болно. Энэ нь зугтах дарааллыг ашиглан хийгддэг. Өөрөөр хэлбэл, ANSI/VT100 терминалын хяналтын кодын дараалал. Энэ нь автоматаар таны терминал эмулятор энэ стандартыг дэмжих ёстой гэсэн үг юм, эс тэгвээс шинэ жилийн гайхамшиг тохиолдохгүй. Тийм ээ, $SHELL таны баш гэж таамаглаж байна.

Эдгээр командуудыг зугтах дараалал гэж нэрлэдэг, учир нь тэдгээрийн эхэнд ASCII тэмдэгт "зайлах" байдаг. Удирдлагын олон дараалал байдаг бөгөөд тэдгээр нь жишээлбэл, терминалын тохиргоог харуулах, курсорын дэлгэц, хөдөлгөөнийг хянах, фонтыг өөрчлөх, текстийг устгах, нуух боломжийг олгодог. Бид янз бүрийн боломжуудаас нэгийг нь сонгох болно - текст болон дэвсгэрийн өнгийг өөрчлөх.

Кодын дарааллыг гүйцэтгэнэ *ESC*[{attr1};...;{attrn}m
Бэлгэдлийн хувьд Escape түүний наймны хэлбэрийг ашигладаг, өөрөөр хэлбэл 33. Шинж чанаруудын хувьд боломжит утгуудын товч жагсаалт энд байна:

0 Бүх шинж чанаруудыг дахин тохируулна уу
1 Гэрэлт (гэрэлт нэмэгдсэн)
2 Бүдэг
4 Доод зураас
5 Анивчих
7 Урвуу
8 Нууцлагдсан (текстийг нуух)

Урд талын өнгө (үзэгний өнгө, текст энэ өнгөөр ​​харагдана):
30 Хар
31 Улаан
32 Ногоон
33 Шар
34 Цэнхэр
35 Magenta (magenta)
36 Цэнхэр (цэнхэр)
37 Цагаан (белий)

Арын өнгө (цаасны өнгө, дэвсгэр өнгө):
40 Хар
41 Улаан
42 Ногоон
43 Шар
44 Цэнхэр
45 Magenta (magenta)
46 Цэнхэр (цэнхэр)
47 Цагаан (белий)

Хэрэв та одоо терминал дээр тушаал өгвөл: echo 33[0;31mнекоторый текст 33[0m’

... тэгвэл та гаралт дээр monochrome gobbledygook авах болно:

Командын мөрөнд зул сарын гацуур мод

Яагаад? Учир нь echo командын дэвшилтэт чадварыг ашиглах шаардлагатай байсан. Нэг түлхүүр нэмэхэд хангалттай: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

Гаралт одоо зөв харагдах болно:

Командын мөрөнд зул сарын гацуур мод

Бид гаралтын өнгийг терминал руу ангилсан. Одоо командын мөрийг хэрхэн өнгө болгохыг харцгаая.

Энэ нь PS1 хувьсагчийг өөрчлөх замаар хийгддэг. Хувьсагч нь тушаалын мөрийг хариуцдаг. Үүний дүр төрхийг мөн зугтах дарааллыг ашиглан өөрчилж болно. Гэхдээ бага зэрэг ялгаа бий: та дарааллыг " тэмдгээр эхлүүлэх хэрэгтэй.[", мөн " тэмдгээр төгсдөг]”, эс бөгөөс терминал руу гарна.

Бүх боломжит тушаалын дарааллыг bash гарын авлагад дэлгэрэнгүй тайлбарласан байгаа тул би уншигчдыг командын мөрийн мөрөнд юу харахыг илүүд үздэгээ өөрсдөө сонгохыг урьж байна. Жишээ болгон би PS1 хувьсагчийн утгыг өгөх болно:

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

Би энэ аймшигт шившлэгийг тайлах болно:

[33[34;1м] — тод цэнхэр (хоёр дахь шинж чанар) үсгийн өнгийг асаана
t – одоогийн цагийг HH: MM: SS форматаар харуулна
[33[0м] – үсгийн өнгөний тохиргоог дахин тохируулах
, - зүгээр л таслал (гэнэтийн, тийм үү?)
[33[32м] — ногоон үсгийн өнгийг асаана
u@l@h – “@” тэмдгээр тусгаарлагдсан хэрэглэгчийн нэр, терминалын төхөөрөмжийн дугаар болон богино хост нэрийг харуулна
[33[0м] — үсгийн өнгөний тохиргоог дахин тохируулна уу
: - зүгээр л хоёр цэг (гэнэт!)
[33[33м] — шар үсгийн өнгийг асаана
W – одоогийн лавлахын нэрийг харуулна
[33[0м] — үсгийн өнгөний тохиргоог дахин тохируулна уу
, - өөр таслал (хэн бодох байсан бэ!)
[33[31м] — улаан үсгийн өнгийг асаана
! — командын дугаарыг терминал дээр харуулах
[33[0м] - үсгийн өнгөний тохиргоог дахин тохируулахаа бүү мартаарай
$ - root-д "#", бусад бүх хүмүүст "$" гэж хэвлэ
n - мөрийн орчуулга. Юуны төлөө? Ингэснээр команд нь командын мөрийн мөрийн төгсгөлөөс биш харин цонхны зүүн захаас эхэлдэг.

Хувьсагчийг хаана дахин тодорхойлох вэ? Үүнийг хийх хамгийн логик газар бол ~/.bashrc.

Урилгын харагдах байдал нь зөвхөн таны төсөөллөөр хязгаарлагддаг. Зарчмын хувьд, дээр дурдсан хэрэгслийг ашиглан зул сарын гацуур мод хэлбэрээр командын мөр гаргахад юу ч саад болохгүй. Үнэн, ийм урилга нь маш төвөгтэй байх бөгөөд ажил нь илүү тохиромжтой биш байх болно. Нэвтрэх үед зул сарын гацуур модыг командын мөрийн мөрөнд зүгээр л харуулах боломжтой (бид ~/.bashrc засварлах шаардлагатай хэвээр байна). Үүний төлөө зүтгэ! Мөн анхаарал тавьсанд баярлалаа.

Командын мөрөнд зул сарын гацуур мод

Та блог дээрээс өөр юу уншиж чадах вэ? Cloud4Y

GNU/Linux дээр дээд тохиргоог хийж байна
Пентестерүүд кибер аюулгүй байдлын тэргүүн эгнээнд байдаг
Гайхаж чадах стартапууд
Дата төвд дэр хэрэгтэй юу?
Робот барьсан байшин

Манай захиалах цахилгаанДараагийн нийтлэлийг алдахгүйн тулд суваг! Бид долоо хоногт хоёроос илүүгүй удаа, зөвхөн ажил хэргийн талаар бичдэг. Cloud4Y корпорацийн үүлэн үйлчилгээ үзүүлэгч нь “FZ-152 Cloud ердийн үнээр” урамшууллыг эхлүүлснийг бид танд сануулж байна. Та өргөдөл гаргаж болно 31-р сарын XNUMX хүртэл.

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх