Πώς να αλλάξετε το χρώμα εξόδου του Echo στο Linux PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Πώς να αλλάξετε το χρώμα εξόδου του 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 θα χρωματιζόταν μπλε. Εναλλακτικά, σκεφτείτε ένα απλό σενάριο 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 (καρτέλα) μέσα στη συμβολοσειρά εισόδου.

Μόλις εκτελέσετε το σενάριο:

$ ./colors.sh

Έχει ως αποτέλεσμα:

Πώς να αλλάξετε το χρώμα εξόδου του Echo στο Linux PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Οι κωδικοί ANSI δεν περιορίζονται στο χρώμα – αλλά μπορούν επίσης να εφαρμοστούν για στυλ. Οι κωδικοί 0..9 αντιπροσωπεύουν στυλ κειμένου, ενώ οι κώδικες 30...37 αντιπροσωπεύουν χρώματα:

Χρώμα Κώδικες Στυλ κειμένου Κώδικες
Μαύρη 30 Απλό κείμενο 0
Red 31 Έντονο κείμενο 1
Πράσινο 32 Κείμενο χαμηλής έντασης 2
Καφέ / Πορτοκαλί 33 Υπογράμμιση κειμένου 4
Μπλε 34 Κείμενο που αναβοσβήνει 5
Μωβ 35 Αόρατο κείμενο 8
Κυανό 36 Διαγραφή κειμένου 9
Light Gray 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"

Η εκτέλεση αυτού του σεναρίου έχει ως αποτέλεσμα:

Πώς να αλλάξετε το χρώμα εξόδου του Echo στο Linux PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Ρίξτε μια ματιά στον πρακτικό μας οδηγό για την εκμάθηση του Git, με βέλτιστες πρακτικές, πρότυπα αποδεκτά από τον κλάδο και συμπεριλαμβανόμενο φύλλο εξαπάτησης. Σταματήστε τις εντολές του Git στο Google και πραγματικά μαθαίνουν το!

Ομοίως, μπορείτε να αλλάξετε το χρώμα φόντου αυτών των κειμένων χρησιμοποιώντας κωδικούς 40..47:

χρώμα Κώδικες
Μαύρη 40
Red 41
Πράσινο 42
Καφέ / Πορτοκαλί 43
Μπλε 44
Μωβ 45
Κυανό 46
Light Gray 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 είναι χρώματα σε κλίμακα του γκρι:

Πώς να αλλάξετε το χρώμα εξόδου του Echo στο Linux PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.
πίστωσης: Wikipedia

Τέλος, tput σας επιτρέπει επίσης να αλλάξετε το χρώμα του φόντου, να προσθέσετε έντονη γραφή, να μειώσετε την ένταση κ.λπ. με άλλες εντολές:

Στυλ κειμένου Εντολές
Χρώμα πρώτου πλάνου σεταφ
Χρώμα του φόντου setab
Χωρίς στυλ 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!"

Αυτή η δέσμη ενεργειών θα εκτυπώσει την ακόλουθη έξοδο στο τερματικό:

Πώς να αλλάξετε το χρώμα εξόδου του Echo στο Linux PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Η εντολή 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 χρώματα και τους κωδικούς τους:

Πώς να αλλάξετε το χρώμα εξόδου του Echo στο Linux PlatoBlockchain Data Intelligence. Κάθετη αναζήτηση. Ολα συμπεριλαμβάνονται.

Συμπέρασμα

Σε αυτόν τον σύντομο οδηγό – ρίξαμε μια ματιά στο πώς μπορείτε να αλλάξετε το χρώμα του echo's έξοδος στο Linux – χρησιμοποιώντας ANSI Escape Sequences και το tput εντολή.

Εξερευνήσαμε επίσης πώς μπορείτε να κάνετε τη διαδικασία λιγότερο περιεκτική χρησιμοποιώντας μεταβλητές Bash, να τροποποιήσετε τα χρώματα φόντου και το κείμενο στυλ.

Σφραγίδα ώρας:

Περισσότερα από Stackabuse