yankı kullanarak renkli metin yazdırma


25

Eko kullanarak örneğin kırmızı renkte renkli bir metin yazdırmak için kodun kod olduğunu echo -e "\e[1;31m This is red text \e[0m"
biliyorum : ve bu örnekte 31'in kırmızı renk kodu olduğunu ve diğer renklerin sayısının:

Black       0;30     Dark Gray     1;30
Blue        0;34     Light Blue    1;34
Green       0;32     Light Green   1;32
Cyan        0;36     Light Cyan    1;36
Red         0;31     Light Red     1;31
Purple      0;35     Light Purple  1;35
Brown       0;33     Yellow        1;33
Light Gray  0;37     White         1;37

ve arka plan renkleri için num 40 - 47 arasındadır.

ne kapsamaz: my Soru şudur \eve [ve m(31 sonra) tam olarak burada mı?
Adam sayfasında kaçış olduğunu okudum, ama ne anlama geldiğini anlamadım.


Genel olarak, mevcut teknik bağlamda özel anlamları olan karakterlerden kaçarsınız. Örneğin, dizeler genellikle "bunun gibi" tırnak işaretleri içinde yazılır. Ancak bir dizgede tırnak işaretleri almak istiyorsanız, bu karakterlerden kaçınmalısınız, böylece bunlar kelimenin tam anlamıyla değil, sınırlayıcı olarak yorumlanmayacaktır. Örneğin, echo "She said \"Hi\""Bu davaya gelince (sorunuz), daha iyi bir cevap beklemeniz gerekir.
Emanuel Berg

Yanıtlar:


13

Bunlar, 1976 yılında ilk olarak kabul edilen ECMA-48 CSI dizileri olarak da bilinen ANSI kaçış dizilerinin 'Dizi elemanlarının' bir parçasıdır.

Daha spesifik [olarak, ' Kontrol Dizisi İntrodüseri '

Tip man console_codeshemen her * Nix dağıtıma kodları ve bazı dokümanlar görmek için.


man 4 console_codenot man console_code:
ubuntu'mda

Manuel sayfa adı bir "s" ile biter, bu yüzden "man console_codes" doğru sayfayı getirmelidir.
Mikko Rantalainen

4

Kesin olarak renk kodları aşağıda tanımlanmıştır.

Opening
RED= "\033[31m" or "\e[1;31m"
CYAN="\033[36m" or "\e[1;31m"

Closing = "\033[m" or "\e[0m"

Yani temelde bu, farklı terminallerin renk kodlarını yorumlama şeklidir ve metninizi bu öğeler içinde açıklarsınız. Terminalin ne demek istediğinizi anlamasını sağlamanın garip bir yolu (HexCodes veya Binary ..)


2

Burada güzel bir açıklama buldum (en azından benim için güzel :-) ). Senin için faydalı olup olmadığından emin değilim.

Başlamak için bunu konsolunuza yazın:

echo "^[[0;31;40mIn Color"

İlk karakter, ^ ve [. Bunu yazdırabilmek için CTRL + V tuşlarına ve ardından ESC tuşuna basmanız gerekir. Diğer tüm karakterler normal yazdırılabilir karakterlerdir, bu nedenle kırmızı renkli Dize dize görürsünüz. Yazı, bunu yazarak geri dönene kadar rengi korur:

Terminaldeki renk modlarını ayarlamak için çıkış kodlarıdır. Sadece normal karakterlerle basıldığında, öyle gözüküyorlar.


2

\eEscape karakteri için steno. ve <ESC>[ve, msıralı ANSI terminal kontrolünün bir alt kümesi olan ANSI renk kontrol dizilerinin başlangıcı ve bitişi için belirteçlerdir. Birçoğu <ESC>[, ardından bir sayı ile başlar, ardından hangi işlevin uygulandığını belirten bir harf (örneğin imleci çizgiye taşı; çizginin sonuna temizle, imleci kaydedilen konuma, vb.) Getir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.