كيفية تغيير لون إخراج الصدى في ذكاء بيانات Linux PlatoBlockchain. البحث العمودي. منظمة العفو الدولية.

كيفية تغيير لون إخراج Echo في Linux

المُقدّمة

echo يخرج الأمر سلسلة معينة إلى أنبوب الإخراج القياسي، عادة ما يشير إلى المحطة. على الرغم من أن أنبوب الإخراج القياسي يمكن أن يشير إلى واجهات أخرى - فإن echo عادة ما يتم استخدام الأمر لطباعة وعرض الرسائل في المحطة. بشكل افتراضي ، يرث نص الرسالة المعروضة لون النص الآخر في الجهاز (وهو قابل للتخصيص في حد ذاته). ومع ذلك - هناك عدة طرق يمكنك من خلالها تغيير لون الإخراج echo - لكل من السلاسل الفردية والرسائل بأكملها.

في هذا الدليل المختصر ، سنلقي نظرة على كيفية تغيير لون الإخراج لـ echo في الأنظمة المستندة إلى Linux ، باستخدام أكواد الهروب من ANSI ، tput وكيف يمكنك جعل هذه العملية أقل إطالة في نصوص Bash النصية.

قم بتغيير لون الإخراج باستخدام أكواد الهروب من ANSI

أسهل طريقة لتغيير اللون هي من خلال تسلسلات / أكواد هروب ANSI. تبدأ جميع رموز الهروب من ANSI بامتداد Escape الشخصية ، والتي يمكن تمثيلها بتنسيقات مختلفة - 27 عشري x1B بالنظام الست عشري ، كمفتاح التحكم ^[الطرق أو 33 في شكل ثماني. ثم يتم اتباع التسلسل بواسطة الأمر:

33[command

أين قوس الافتتاح (مقدم تسلسل التحكم) اختياري ، ولكنه يساعد في فصل الأمر عن حرف الهروب. عندما تضع ملف رمز اللون كأمر ، فإنه يغير لون النص الوارد:

33[0;34

0;34 هو رمز اللون الأزرق ، على سبيل المثال. باستخدام هذا وحده ، يمكنك تغيير لون النص بتنسيق echo مع:

33[0;34Text

في Text سيكون ملونًا باللون الأزرق. بدلاً من ذلك ، ضع في اعتبارك برنامجًا نصيًا بسيطًا للطباعة "مرحبًا بك في فرنسا" بألوان العلم الفرنسي:

#!/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 (علامة تبويب) داخل سلسلة الإدخال.

بمجرد تشغيل البرنامج النصي:

$ ./colors.sh

أنه يؤدي إلى:

كيفية تغيير لون إخراج الصدى في ذكاء بيانات Linux PlatoBlockchain. البحث العمودي. منظمة العفو الدولية.

لا تقتصر رموز ANSI على اللون - ولكن يمكن أيضًا تطبيقها على النمط. الرموز 0..9 تمثل أنماط النص ، بينما الرموز 30...37 تمثل الألوان:

لون Codes للحلول التقنية أنماط النص Codes للحلول التقنية
اسود 30 نص بسيط 0
أحمر 31 نص غامق 1
أخضر 32 نص منخفض الكثافة 2
بني / برتقالي 33 تسطير النص 4
الأزرق 34 نص وامض 5
بنفسجي 35 نص غير مرئي 8
السماوي 36 نص يتوسطه خط 9
رمادي فاتح 37

لنقم بإنشاء برنامج نصي باش لاستكشاف بعض هذه الخيارات:

#!/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. البحث العمودي. منظمة العفو الدولية.

تحقق من دليلنا العملي العملي لتعلم Git ، مع أفضل الممارسات ، والمعايير المقبولة في الصناعة ، وورقة الغش المضمنة. توقف عن أوامر Googling Git وفي الواقع تعلم ذلك!

وبالمثل ، يمكنك تغيير لون خلفية هذه النصوص باستخدام الأكواد 40..47:

اللون Codes للحلول التقنية
اسود 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. البحث العمودي. منظمة العفو الدولية.
الائتمان: ويكيبيديا

وأخيرا، tput يسمح لك أيضًا بتغيير لون الخلفية ، وإضافة اللون الغامق ، وخفض الكثافة ، وما إلى ذلك باستخدام أوامر أخرى:

أنماط النص أوامر
لون المقدمة سيتاف
لون الخلفية setab
لا أسلوب ملف sgv0
نص غامق الخطّ الغامق
نص منخفض الكثافة أح
تسطير النص سمول
نص وامض وميض
عكس النص تزيد السرعة

لنقم بإنشاء برنامج نصي آخر يستخدم 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. البحث العمودي. منظمة العفو الدولية.

يوفر الأمر 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. البحث العمودي. منظمة العفو الدولية.

وفي الختام

في هذا الدليل المختصر - ألقينا نظرة على كيفية تغيير لون echoفي Linux - باستخدام ANSI Escape Sequences و tput أمر.

لقد اكتشفنا أيضًا كيف يمكنك جعل العملية أقل إطالة باستخدام متغيرات Bash وتعديل ألوان الخلفية ونص النمط.

الطابع الزمني:

اكثر من ستاكابوز