نحوه تغییر رنگ خروجی اکو در Linux PlatoBlockchain Intelligence. جستجوی عمودی Ai.

نحوه تغییر رنگ خروجی اکو در لینوکس

معرفی

La echo فرمان یک رشته داده شده را به خروجی می دهد لوله خروجی استاندارد، معمولاً به ترمینال اشاره می کند. اگرچه لوله خروجی استاندارد می تواند به رابط های دیگر اشاره کند - echo دستور معمولا برای چاپ و نمایش پیام ها در ترمینال استفاده می شود. به طور پیش فرض، متن پیام نمایش داده شده رنگ متن دیگر را در ترمینال به ارث می برد (که به خودی خود قابل تنظیم است). با این حال - راه های مختلفی وجود دارد که می توانید رنگ خروجی را تغییر دهید echo - هم برای رشته های فردی و هم برای کل پیام ها.

در این راهنمای کوتاه، نحوه تغییر رنگ خروجی را بررسی خواهیم کرد echo در سیستم های مبتنی بر لینوکس، با استفاده از کدهای فرار ANSI، tput و چگونه می توانید این فرآیند را در اسکریپت های Bash کمتر پرمخاطب کنید.

رنگ خروجی را با کدهای فرار ANSI تغییر دهید

ساده ترین راه برای تغییر رنگ از طریق دنباله ها/کدهای فرار ANSI است. همه کدهای فرار ANSI با علامت شروع می شوند Escape کاراکتر، که می تواند در قالب های مختلف نمایش داده شود - 27 به صورت اعشاری، x1B در هگزادسیمال، به عنوان کلید کنترل ^[، یا 33 در قالب اکتال سپس دنباله ها با دستور زیر دنبال می شوند:

33[command

جایی که براکت باز (معرفی کننده توالی کنترل) اختیاری است، اما به جداسازی دستور از کاراکتر escape کمک می کند. هنگامی که شما یک کد رنگ به عنوان دستور، رنگ متن روبرو را تغییر می دهد:

33[0;34

0;34 برای مثال کد رنگ آبی است. تنها با این کار می توانید رنگ متن را تغییر دهید echo با:

33[0;34Text

جایی که Text آبی رنگ خواهد شد روش دیگر، یک اسکریپت bash ساده را برای چاپ در نظر بگیرید "به فرانسه خوش آمدید" در رنگ های پرچم فرانسه:

#!/bin/bash  
BLUE='33[0;34m'
WHITE= '33[0;37m' 
RED= '33[0;31m'   
echo -e "${Blue}Welcome ${WHITE}to ${RED}France"

اختیاری -e پرچم از echo دستور به شما امکان می دهد از کاراکترهای خاصی مانند n (خط جدید) و t (tab) در داخل رشته ورودی.

پس از اجرای اسکریپت:

$ ./colors.sh

نتیجه می دهد:

نحوه تغییر رنگ خروجی اکو در Linux PlatoBlockchain Intelligence. جستجوی عمودی Ai.

کدهای ANSI به رنگ محدود نمی شوند - بلکه می توانند برای استایل نیز اعمال شوند. کدها 0..9 نشان دهنده سبک های متن، در حالی که کدها 30...37 رنگ ها را نشان می دهد:

رنگ کد سبک های متن کد
سیاه پوست 30 متن ساده 0
قرمز 31 متن پررنگ 1
سبز 32 متن با شدت کم 2
قهوه ای/نارنجی 33 زیر متن خط بکش 4
آبی 34 متن چشمک زن 5
رنگ بنفش 35 متن نامرئی 8
فیروزه ای 36 متن خط خورده 9
خاکستری روشن 37

بیایید یک اسکریپت bash برای بررسی برخی از این گزینه ها ایجاد کنیم:

#!/bin/bash
echo -e "33[0;33mSample text"
echo -e "33[1;33mBold text"
echo -e "33[2;33mLow intensity text"
echo -e "33[4;33mUnderline text"
echo -e "33[5;33mBlinking text"
echo -e "33[8;33mInvisible text"
echo -e "33[9;33mStrikethrough text"

اجرای این اسکریپت به این نتیجه می رسد:

نحوه تغییر رنگ خروجی اکو در Linux PlatoBlockchain Intelligence. جستجوی عمودی Ai.

راهنمای عملی و عملی ما برای یادگیری Git را با بهترین روش ها، استانداردهای پذیرفته شده در صنعت و برگه تقلب شامل بررسی کنید. دستورات Google Git را متوقف کنید و در واقع یاد گرفتن آی تی!

به همین ترتیب، می توانید رنگ پس زمینه این متون را با استفاده از کدها تغییر دهید 40..47:

رنگ کد
سیاه پوست 40
قرمز 41
سبز 42
قهوه ای/نارنجی 43
آبی 44
رنگ بنفش 45
فیروزه ای 46
خاکستری روشن 47

تغییر پس‌زمینه یک رشته داده شده به همان قاعده‌ای خلاصه می‌شود که هنگام تغییر رنگ فونت - خود کد رفتار را تغییر می‌دهد:

#!/bin/bash
BLUE='33[0;44m'
BLACK='33[0;30m'
WHITE='33[0;30;47m'
RED='33[0;41m'
echo -e "${BLUE}Welcome ${WHITE}to ${RED}France"

توجه داشته باشید: به عنوان یک قاعده کلی - می توانید رنگ فونت را با اضافه کردن 10 به رنگ های پس زمینه ترجمه کنید. 30 رنگ فونت سیاه است، 40 رنگ زمینه مشکی است

رنگ خروجی را با tput تغییر دهید

یک جایگزین برای کدهای ANSI استفاده از tput فرمان:

$ tput setaf color_code

setf اجازه می دهد تا برای 8 رنگ، در حالی که setaf اجازه 256 رنگ را می دهد، بنابراین بسته به دستوری که استفاده می کنید، می توانید بین آن ها حرکت کنید 0..7 و 0..255 به عنوان کدهای رنگ هر دو دستورات اختصاص می دهد 0..7 به کدهای رنگی مشابه، در حالی که با setaf, 8..15 رنگ های با شدت بالا هستند و 16..231 رنگ های مختلف 8 اول هستند و 232..255 رنگ های خاکستری هستند:

نحوه تغییر رنگ خروجی اکو در Linux PlatoBlockchain Intelligence. جستجوی عمودی Ai.
اعتبار: ویکیپدیا

در نهایت، tput همچنین به شما امکان می دهد رنگ پس زمینه را تغییر دهید، پررنگ اضافه کنید، شدت را کاهش دهید و غیره با دستورات دیگر:

سبک های متن دستورات
رنگ پیش زمینه ستاف
رنگ پس زمینه تنظیم
بدون سبک sgv0
متن پررنگ جسور
متن با شدت کم خورشید
زیر متن خط بکش smul
متن چشمک زن چشمک زدن
متن معکوس احیای

بیایید اسکریپت دیگری ایجاد کنیم که از آن استفاده می کند tput برای تغییر رنگ خروجی echo:

#!/bin/bash
YELLOW=`tput setaf 3`
echo "${YELLOW}Changing"
WHITE=`tput setaf 7 bold`
echo "${WHITE}Colors"
BLUE=`tput setaf 4 smul`
echo "${BLUE}With tput"
CYAN=`tput setaf 6 blink`
echo "${CYAN}is less"
RED=`tput setab 1 setaf 7`
echo "${RED}verbose!"

این اسکریپت خروجی زیر را در ترمینال چاپ می کند:

نحوه تغییر رنگ خروجی اکو در Linux PlatoBlockchain Intelligence. جستجوی عمودی Ai.

دستور tput راهی آسان برای چاپ هر رنگی از طریق یک کد رنگی ساده ارائه می دهد. بیایید اکنون یک اسکریپت ایجاد کنیم که بتواند هر کد رنگی موجود برای دستور tput را چاپ کند:

#!/bin/bash
tput init 
 end = $ (($ (tput colors) - 1)) 
 w = 1 
 for c
  in $ (seq 0 $end) 
  do
eval "$(printf " tput setaf % 3 s " " $c ")" 
      echo - n "$_" 
      [[$c - ge $ ((w * 2))]] 
      offset = 2 || offset = 0 
      [[$ (((c + offset) % (w - offset))) - eq $ (((w - offset) - 1))]] 
      echo 
 done 
 tput init

0 تا 255 رنگ و کدهای آنها را چاپ می کند:

نحوه تغییر رنگ خروجی اکو در Linux PlatoBlockchain Intelligence. جستجوی عمودی Ai.

نتیجه

در این راهنمای کوتاه - ما نگاهی به نحوه تغییر رنگ آن انداخته‌ایم echoخروجی در لینوکس – با استفاده از ANSI Escape Sequences و tput فرمان

ما همچنین بررسی کرده‌ایم که چگونه می‌توانید با استفاده از متغیرهای Bash، تغییر رنگ‌های پس‌زمینه و متن سبک، فرآیند را کم‌تر پیچیده کنید.

تمبر زمان:

بیشتر از Stackabuse