Χριστουγεννιάτικο δέντρο στη γραμμή εντολών

Έρχεται η Πρωτοχρονιά, δεν θέλω να σκέφτομαι πια σοβαρή δουλειά.

Όλοι προσπαθούν να διακοσμήσουν κάτι για τις γιορτές: σπίτι, γραφείο, χώρο εργασίας... Ας στολίσουμε κι εμείς κάτι! Για παράδειγμα, μια γραμμή εντολών. Σε κάποιο βαθμό, η γραμμή εντολών είναι επίσης ένας χώρος εργασίας.

Σε ορισμένες διανομές είναι ήδη «στολισμένο»:

Χριστουγεννιάτικο δέντρο στη γραμμή εντολών

Σε άλλα, είναι γκρι και δυσδιάκριτο:

Χριστουγεννιάτικο δέντρο στη γραμμή εντολών

Και μπορούμε να κάνουμε, για παράδειγμα, ως εξής:

Χριστουγεννιάτικο δέντρο στη γραμμή εντολών

Φυσικά, όλοι οι μαρκαδόροι έχουν διαφορετικά γούστα και χρώματα. Εάν ένας τέτοιος χρωματισμός σας φαίνεται κολλώδης και ακατάλληλος, τότε να ξέρετε ότι αυτή η άποψη έχει κάθε δικαίωμα στη ζωή. Και αν θέλετε επίσης να προσθέσετε λίγο πρωτοχρονιάτικο πνεύμα, διαβάστε για ένα σύντομο πρωτοχρονιάτικο άρθρο από το Cloud4Y.

Αρχικά, θα εξηγήσω πώς είναι "χρωματισμένη" η έξοδος του τερματικού. Αυτό γίνεται χρησιμοποιώντας ακολουθίες διαφυγής. Ή ακριβέστερα, οι ακολουθίες κωδικών ελέγχου του τερματικού ANSI/VT100. Κάτι που σημαίνει αυτόματα ότι ο εξομοιωτής τερματικού σας πρέπει να υποστηρίζει αυτό το πρότυπο, διαφορετικά το θαύμα της Πρωτοχρονιάς δεν θα συμβεί. Και ναι, το $SHELL θεωρείται ότι είναι το bash σας.

Αυτές οι εντολές ονομάζονται ακολουθίες διαφυγής επειδή στην αρχή καθεμιάς από αυτές υπάρχει ένας χαρακτήρας ASCII "escape". Υπάρχουν πολλές ακολουθίες ελέγχου και επιτρέπουν, για παράδειγμα, την εμφάνιση ρυθμίσεων τερματικού, τον έλεγχο της εμφάνισης και της κίνησης του δρομέα, την αλλαγή της γραμματοσειράς, τη διαγραφή και την απόκρυψη κειμένου. Θα επιλέξουμε ένα από όλες τις δυνατότητες - αλλάζοντας το χρώμα του κειμένου και του φόντου.

Εκτελέστε την ακολουθία κώδικα *ESC*[{attr1};...;{attrn}m
Ως σύμβολο Διαφυγή χρησιμοποιείται η οκταδική μορφή του, δηλαδή 33. Όσον αφορά τα χαρακτηριστικά, εδώ είναι μια σύντομη λίστα πιθανών τιμών:

0 Επαναφορά όλων των χαρακτηριστικών
1 Φωτεινό (αυξημένη φωτεινότητα)
2 Αμυδρός
4 Κατω παυλα
5 Αναβοσβήνω
7 ΑΝΤΙΣΤΡΟΦΗ
8 Κρυφό (απόκρυψη κειμένου)

Χρώματα προσκηνίου (χρώμα στυλό, το κείμενο εμφανίζεται με αυτό το χρώμα):
30 Μαύρος
31 το κόκκινο
32 Πράσινος
33 Κίτρινος
34 Μπλε
35 Ματζέντα (ματζέντα)
36 Κυανό (μπλε)
37 άσπρο

Χρώματα φόντου (χρώμα χαρτιού ή χρώμα φόντου):
40 Μαύρος
41 το κόκκινο
42 Πράσινος
43 Κίτρινος
44 Μπλε
45 Ματζέντα (ματζέντα)
46 Κυανό (μπλε)
47 άσπρο

Λάβετε υπόψη ότι εάν τώρα δώσετε εντολή στο τερματικό: echo 33[0;31mнекоторый текст 33[0m’

...τότε θα έχετε προβλέψιμα μονόχρωμο 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;1m] — ενεργοποιήστε το φωτεινό μπλε (δεύτερο χαρακτηριστικό) χρώμα γραμματοσειράς
t – εμφάνιση της τρέχουσας ώρας με τη μορφή ΩΩ: ΜΜ: SS
[ 33[0m] – επαναφέρετε τις ρυθμίσεις χρώματος γραμματοσειράς
, - μόνο κόμμα (απροσδόκητο, σωστά;)
[ 33[32m] — ενεργοποιήστε το πράσινο χρώμα γραμματοσειράς
u@l@h – εμφανίστε το όνομα χρήστη, τον αριθμό τερματικής συσκευής και το σύντομο όνομα κεντρικού υπολογιστή, διαχωρισμένα με το σύμβολο «@».
[ 33[0m] — επαναφέρετε ξανά τις ρυθμίσεις χρώματος γραμματοσειράς
: - μόνο μια άνω τελεία (ξαφνικά!)
[ 33[33m] — ενεργοποιήστε το κίτρινο χρώμα γραμματοσειράς
W – εμφάνιση του ονόματος του τρέχοντος καταλόγου
[ 33[0m] — επαναφέρετε ξανά τις ρυθμίσεις χρώματος γραμματοσειράς
, - άλλο κόμμα (ποιος θα το φανταζόταν!)
[ 33[31m] — ενεργοποιήστε το κόκκινο χρώμα γραμματοσειράς
! — εμφανίστε τον αριθμό εντολής στο τερματικό
[ 33[0m] - μην ξεχάσετε να επαναφέρετε τις ρυθμίσεις χρώματος γραμματοσειράς
$ — εκτυπώστε "#" για root και "$" για όλους τους άλλους
n - μετάφραση γραμμής. Για τι? Έτσι ώστε η εντολή να ξεκινά στο αριστερό άκρο του παραθύρου και όχι στο τέλος της γραμμής εντολών.

Πού να επαναπροσδιορίσετε μια μεταβλητή; Το πιο λογικό μέρος για να γίνει αυτό είναι το ~/.bashrc.

Η εμφάνιση του προσκλητηρίου περιορίζεται μόνο από τη φαντασία σας. Κατ 'αρχήν, τίποτα δεν σας εμποδίζει να δημιουργήσετε μια γραμμή εντολών με τη μορφή χριστουγεννιάτικου δέντρου χρησιμοποιώντας τα εργαλεία που περιγράφονται παραπάνω. Είναι αλήθεια ότι μια τέτοια πρόσκληση θα είναι πολύ δυσκίνητη και η εργασία σίγουρα δεν θα γίνει πιο βολική. Το χριστουγεννιάτικο δέντρο μπορεί απλά να εμφανιστεί πάνω από τη γραμμή εντολών κατά τη σύνδεση (χρειάζεται ακόμα να επεξεργαστούμε το ~/.bashrc). Καν 'το! Και ευχαριστώ για την προσοχή σας.

Χριστουγεννιάτικο δέντρο στη γραμμή εντολών

Τι άλλο μπορείτε να διαβάσετε στο blog; Cloud4Y

Ρύθμιση κορυφής στο GNU/Linux
Πενθουσιαστές στην πρώτη γραμμή της κυβερνοασφάλειας
Startups που μπορούν να εκπλήξουν
Χρειάζονται μαξιλάρια σε ένα κέντρο δεδομένων;
Το σπίτι που έχτισε ένα ρομπότ

Εγγραφείτε στο Telegram-κανάλι για να μην χάσετε το επόμενο άρθρο! Γράφουμε όχι περισσότερο από δύο φορές την εβδομάδα και μόνο για επαγγελματικούς λόγους. Υπενθυμίζουμε επίσης ότι ο εταιρικός πάροχος cloud Cloud4Y ξεκίνησε την προσφορά «FZ-152 Cloud στην κανονική τιμή». Μπορείτε να κάνετε αίτηση έως τις 31 Δεκεμβρίου.

Πηγή: www.habr.com

Προσθέστε ένα σχόλιο