Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux



Βασικά Takeaways

  • Το

    είναι μια ζω

    κής σημασίας εντολή που μας επιτρέπει να λαμβάνουμε ορατά

    από σενάρια φλοιού και μπορεί να περιλαμβάνει μεταβλητές, ονόματα αρχείων και καταλόγους.
  • Υπάρχουν δύο εκδόσεις του echo: μία ενσωματωμένη στο κέλυφος Bash και μια δυαδική εκτελέσιμη έκδοση.
  • Το Echo μπορεί να χρησιμοποιηθεί για την εγγραφή κειμένου στο παράθυρο του τερματικού, τη χρήση μεταβλητών για δυναμική έξοδο, την ενσωμάτωση εξόδου εντολών, τη μορφοποίηση κειμένου με χαρακτήρες με ανάστροφη κάθετο, τη λίστα αρχείων και καταλόγων και την εγγραφή σε αρχεία.

ο

echo

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

Τι κάνει η Echo;

Η ηχώ

ναλαμβάνει τι

έχει πει να επαναληφθεί

. Αυτή είναι μια απλή λειτουργία, αλλά ζωτικής σημασίας. Χωρίς

echo

δεν θα μπορούσαμε να λάβουμε ορατά αποτελέσματα από σενάρια φλοιού, για παράδειγμα.

Αν και δεν είναι φορτωμένο με πολλά κουδούνια και σφυρίχτρες, υπάρχει μια καλή πιθανότητα ότι

echo

έχει κάποιες δυνατότητες που δεν γνωρίζατε ή που είχατε ξεχάσει.

Υπάρχουν δύο εκδόσεις της ηχούς

Τα περισσότερα συστήματα Linux παρέχουν δύο εκδόσεις του

echo

. ο

Κέλυφος Bash

έχει το δικό του

echo

ενσωματωμένο σε αυτό και υπάρχει μια δυαδική εκτελέσιμη έκδοση του

echo

επισης.

Μπορούμε να δούμε τις δύο διαφορετικές εκδόσεις χρησιμοποιώντας τις ακόλουθες εντολές:

type echo

whereis echo

ο

type

μας λέει η εντολή

είτε η εντολή που του περνάμε

ως του

διαφωνία

είναι ένα ενσωματωμένο κέλυφος, ένα δυαδικό εκτελέσιμο, ένα ψευδώνυμο ή μια συνάρτηση. Μας αναφέρει ότι

echo

είναι ενσωματωμένο κέλυφος.

Μόλις βρει απάντηση,

type

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

ο

whereis

Η εντολή αναζητά το δυαδικό εκτελέσιμο αρχείο, τον πηγαίο κώδικα και τη σελίδα man για την εντολή που της μεταβιβάζουμε ως γραμμή εντολών

παράμετρος

. Δεν αναζητά ενσωματωμένα κέλυφος επειδή δεν έχουν ξεχωριστό δυαδικό εκτελέσιμο αρχείο. Αποτελούν αναπόσπαστο μέρος του εκτελέσιμου αρχείου Bash.

ο

whereis

η εντολή αναφέρει ότι

echo

είναι ένα δυαδικό εκτελέσιμο που βρίσκεται στο

/bin

Ευρετήριο.

Για να χρησιμοποιήσετε αυτήν την έκδοση του

echo

θα χρειαστεί να το καλέσετε ρητά παρέχοντας τη διαδρομή προς το εκτελέσιμο στη γραμμή εντολών:

/bin/echo --version


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Το ενσωματωμένο κέλυφος δεν ξέρει τι

--version

Το όρισμα γραμμής εντολών είναι, απλώς το επαναλαμβάνει στο παράθυρο του τερματικού:

echo --version


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Τα παραδείγματα που εμφανίζονται εδώ χρησιμοποιούν όλα την προεπιλεγμένη έκδοση του

echo

στο κέλυφος Bash.

Γράψιμο κειμένου στο τερματικό με ηχώ

Για να γράψετε μια απλή συμβολοσειρά κειμένου στο παράθυρο τερματικού, πληκτρολογήστε

echo

και τη συμβολοσειρά που θέλετε να εμφανίζεται:

echo My name is Dave.


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Το κείμενο επαναλαμβάνεται για εμάς. Αλλά καθώς πειραματίζεστε, σύντομα θα ανακαλύψετε ότι τα πράγματα μπορεί να γίνουν λίγο πιο περίπλοκα. Δείτε αυτό το παράδειγμα:

echo My name is Dave and I'm a geek.


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Το παράθυρο τερματικού εμφανίζει α

>

υπογράφει και κάθεται εκεί περιμένοντας. Ctrl+C θα σας επιστρέψει στη γραμμή εντολών. Τι έγινε εκεί?

Το μεμονωμένο απόφθεγμα ή απόστροφο στη λέξη “Είμαι” μπερδεμένο

echo

. Ερμήνευσε αυτό το μεμονωμένο απόσπασμα ως την αρχή μιας παρατιθέμενης ενότητας κειμένου. Επειδή δεν εντόπισε ούτε ένα απόσπασμα κλεισίματος,

echo

περίμενε περισσότερες πληροφορίες. Αναμενόταν ότι η περαιτέρω εισαγωγή θα περιελάμβανε το μεμονωμένο απόσπασμα που έλειπε.

Για να συμπεριλάβετε ένα μόνο εισαγωγικό σε μια συμβολοσειρά, η απλούστερη λύση είναι να τυλίξετε ολόκληρη τη συμβολοσειρά μέσα σε διπλά εισαγωγικά:

echo "My name is Dave and I'm a geek."


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Το να τυλίξετε το κείμενό σας σε διπλά εισαγωγικά είναι μια καλή γενική συμβουλή. Στα σενάρια, οριοθετεί καθαρά τις παραμέτρους στις οποίες μεταβιβάζετε

echo

. Αυτό κάνει την ανάγνωση — και τον εντοπισμό σφαλμάτων — σεναρίων πολύ πιο εύκολη.

Τι γίνεται αν θέλετε να συμπεριλάβετε έναν χαρακτήρα διπλού εισαγωγικού στη συμβολοσειρά του κειμένου σας; Αυτό είναι εύκολο, απλά βάλτε μια ανάστροφη κάθετο


μπροστά από το διπλό εισαγωγικό (χωρίς κενό μεταξύ τους).

echo "My name is Dave and I'm a "geek.""


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Αυτό τυλίγει τη λέξη “geek” σε διπλά εισαγωγικά για εμάς. Σύντομα θα δούμε περισσότερους από αυτούς τους χαρακτήρες με ανάστροφη κάθετο.

Χρήση μεταβλητών με ηχώ

Μέχρι στιγμής, γράφαμε προκαθορισμένο κείμενο στο παράθυρο του τερματικού. Μπορούμε να χρησιμοποιήσουμε μεταβλητές με

echo

να παράγει έξοδο που είναι πιο δυναμικό και έχει τιμές που εισάγονται σε αυτό για εμάς από το κέλυφος. Μπορούμε να ορίσουμε μια απλή μεταβλητή με αυτήν την εντολή:

my_name="Dave"

Μια μεταβλητή που ονομάζεται

my_name

έχει δημιουργηθεί. Του έχει εκχωρηθεί η τιμή του κειμένου “Dave.” Μπορούμε να χρησιμοποιήσουμε το όνομα της μεταβλητής στις συμβολοσειρές στις οποίες μεταβιβάζουμε

echo

, και η τιμή της μεταβλητής θα γραφτεί στο παράθυρο τερματικού. Πρέπει να βάλετε ένα σημάδι δολαρίου

$

μπροστά από το όνομα της μεταβλητής to let

echo

ξέρετε ότι είναι μεταβλητή.

Υπάρχει μια επιφύλαξη. Εάν έχετε τυλίξει τη συμβολοσειρά σας σε μονά εισαγωγικά

echo

θα αντιμετωπίσει τα πάντα κυριολεκτικά. Για να εμφανίζεται η τιμή της μεταβλητής και όχι το όνομα της μεταβλητής, χρησιμοποιήστε διπλά εισαγωγικά.

echo 'My name is $my_name'

echo "My name is $my_name"


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Κάπως εύστοχα, αξίζει να το επαναλάβουμε:

  • Η χρήση μεμονωμένων εισαγωγικών έχει ως αποτέλεσμα το κείμενο να γράφεται στο παράθυρο τερματικού με κυριολεκτικό τρόπο.
  • Η χρήση διπλών εισαγωγικών έχει ως αποτέλεσμα την ερμηνεία της μεταβλητής – που ονομάζεται επίσης επέκταση μεταβλητής – και η τιμή γράφεται στο παράθυρο τερματικού.

Χρήση εντολών με ηχώ

Μπορούμε να χρησιμοποιήσουμε μια εντολή με

echo

και ενσωματώστε την έξοδο του στη συμβολοσειρά που είναι γραμμένη στο παράθυρο τερματικού. Πρέπει να χρησιμοποιήσουμε το σύμβολο του δολαρίου

$

σαν να ήταν η εντολή μια μεταβλητή και τυλίξτε ολόκληρη την εντολή σε παρένθεση.

Θα χρησιμοποιήσουμε το

εντολή ημερομηνίας

. Μια συμβουλή είναι να χρησιμοποιήσετε την εντολή μόνη της πριν ξεκινήσετε να τη χρησιμοποιείτε

echo

. Με αυτόν τον τρόπο, εάν κάτι δεν πάει καλά με τη σύνταξη της εντολής σας, το προσδιορίζετε και το διορθώνετε πριν το συμπεριλάβετε στο

echo

εντολή. Στη συνέχεια, εάν το

echo

Η εντολή δεν κάνει αυτό που περιμένετε, θα ξέρετε ότι το πρόβλημα πρέπει να είναι με το

echo

σύνταξη επειδή έχετε ήδη αποδείξει τη σύνταξη της εντολής.

Επομένως, δοκιμάστε αυτό στο παράθυρο τερματικού:

date +%D


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Και, ικανοποιημένοι που λαμβάνουμε αυτό που περιμένουμε από την εντολή ημερομηνίας, θα την ενσωματώσουμε σε

echo

εντολή:

echo "Today's date is: $(date +%D)"


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Σημειώστε ότι η εντολή βρίσκεται μέσα στις παρενθέσεις και το σύμβολο του δολαρίου

$

βρίσκεται αμέσως πριν από την πρώτη παρένθεση.

Μορφοποίηση κειμένου με ηχώ

ο

-e

(enable backslash escapes) η επιλογή μας επιτρέπει να χρησιμοποιήσουμε ορισμένους χαρακτήρες με ανάστροφη κάθετο για να αλλάξουμε τη διάταξη του κειμένου. Αυτοί είναι οι χαρακτήρες με ανάστροφη κάθετο που μπορούμε να χρησιμοποιήσουμε:


  • ένα

    : Ειδοποίηση (ιστορικά γνωστή ως BEL). Αυτό δημιουργεί τον προεπιλεγμένο ήχο ειδοποίησης.

  • σι

    : Γράφει έναν χαρακτήρα backspace.

  • ντο

    : Εγκαταλείπει οποιαδήποτε περαιτέρω έξοδο.

  • μι

    : Γράφει έναν χαρακτήρα διαφυγής.

  • φά

    : Γράφει έναν χαρακτήρα τροφοδοσίας φόρμας.

  • n

    : Γράφει μια νέα γραμμή.

  • r

    : Γράφει μια επιστροφή άμαξα.

  • t

    : Γράφει μια οριζόντια καρτέλα.

  • v

    : Γράφει μια κάθετη καρτέλα.

  • \

    : Γράφει έναν ανάστροφο χαρακτήρα.

Ας χρησιμοποιήσουμε μερικά από αυτά και ας δούμε τι κάνουν.

echo -e "This is a long line of textnsplit across three linesnwithttabstontthetthirdtline"


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Το κείμενο χωρίζεται σε μια νέα γραμμή όπου χρησιμοποιήσαμε το

n

χαρακτήρες και εισάγεται μια καρτέλα όπου χρησιμοποιήσαμε το

t

χαρακτήρες.

echo -e "Herevarevverticalvtabs"


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Σαν το

n

νέους χαρακτήρες γραμμής, μια κάθετη καρτέλα

v

μετακινεί το κείμενο στην παρακάτω γραμμή. Όμως, σε αντίθεση με το

n

χαρακτήρες νέας γραμμής, οι

v

Η κάθετη καρτέλα δεν ξεκινά τη νέα γραμμή στη στήλη μηδέν. Χρησιμοποιεί την τρέχουσα στήλη.

ο

b

Οι χαρακτήρες backspace μετακινούν τον κέρσορα έναν χαρακτήρα πίσω. Εάν υπάρχει περισσότερο κείμενο για εγγραφή στο τερματικό, αυτό το κείμενο θα αντικαταστήσει τον προηγούμενο χαρακτήρα.

echo -e "123b4"


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Το “3” υπεργράφεται από το “4”.

ο

r

αιτίες χαρακτήρα επιστροφής μεταφοράς

echo

για να επιστρέψετε στην αρχή της τρέχουσας γραμμής και να γράψετε οποιοδήποτε περαιτέρω κείμενο από τη στήλη μηδέν.

echo -e "123r456"


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Οι χαρακτήρες “123” αντικαθίστανται από τους χαρακτήρες “456”.

ο

a

Ο χαρακτήρας ειδοποίησης θα παράγει ένα ηχητικό “bleep”. Χρησιμοποιεί τον προεπιλεγμένο ήχο ειδοποίησης για το τρέχον θέμα σας.

echo -e "Make a bleepa"


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

ο

-n

Η επιλογή (χωρίς νέα γραμμή) δεν είναι μια ακολουθία με ανάστροφη κάθετο, αλλά επηρεάζει τα καλλυντικά της διάταξης κειμένου, επομένως θα το συζητήσουμε εδώ. Αποτρέπει

echo

από την προσθήκη νέας γραμμής στο τέλος του κειμένου. Η γραμμή εντολών εμφανίζεται αμέσως μετά το κείμενο που είναι γραμμένο στο παράθυρο του τερματικού.

echo -n "no final newline"


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Χρήση echo With Files and Directories

Μπορείς να χρησιμοποιήσεις

echo

ως ένα είδος φτωχής εκδοχής του

ls

. Οι επιλογές σας είναι ελάχιστες όταν χρησιμοποιείτε

echo

σαν αυτό. Εάν χρειάζεστε κάποιου είδους πιστότητα ή καλό έλεγχο, καλύτερα να το χρησιμοποιήσετε

ls

και

η λεγεώνα των επιλογών της

.

Αυτή η εντολή παραθέτει όλα τα αρχεία και τους καταλόγους στον τρέχοντα κατάλογο:

echo *

Αυτή η εντολή παραθέτει όλα τα αρχεία και τους καταλόγους στον τρέχοντα κατάλογο των οποίων το όνομα αρχίζει με “D”:

echo D*

Αυτή η εντολή παραθέτει όλα τα αρχεία “.desktop” στον τρέχοντα κατάλογο:

echo *.desktop


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr

Ναι. Αυτό δεν παίζει να

echo

τα δυνατά σημεία του. Χρήση

ls

.

Εγγραφή σε Αρχεία με ηχώ

Μπορούμε να ανακατευθύνουμε την έξοδο από

echo

και είτε δημιουργήστε αρχεία κειμένου είτε γράψτε σε υπάρχοντα αρχεία κειμένου.

Αν χρησιμοποιήσουμε το

>

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

echo

προστίθεται στην αρχή του αρχείου, αντικαθιστώντας οποιοδήποτε προηγούμενο

.

Αν χρησιμοποιήσουμε το

>>

τελεστή ανακατεύθυνσης, το αρχείο δημιουργείται εάν δεν υπάρχει. Η έξοδος από

echo

προστίθεται στο τέλος του αρχείου και δεν αντικαθιστά κανένα υπάρχον περιεχόμενο του αρχείου.

echo "Creating a new file." > sample.txt

echo "Adding to the file." >> sample.txt

cat sample.txt


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr
sample.txt σε παράθυρο τερματικού” style=”display:block;height:auto;max-width:100%;” data-img-url=”https://static1.howtogeekimages.com/wordpress/wp-content/ uploads/2019/10/16-6.png” />

Ένα νέο αρχείο δημιουργείται με την πρώτη εντολή και εισάγεται κείμενο σε αυτό. Η δεύτερη εντολή προσθέτει μια γραμμή κειμένου στο κάτω μέρος του αρχείου. ο

cat

Η εντολή εμφανίζει τα περιεχόμενα του αρχείου στο παράθυρο του τερματικού.

Και φυσικά, μπορούμε να συμπεριλάβουμε μεταβλητές για να προσθέσουμε κάποιες χρήσιμες πληροφορίες στο αρχείο μας. Εάν το αρχείο είναι αρχείο καταγραφής, ίσως θέλουμε να προστεθεί μια χρονική σήμανση σε αυτό. Μπορούμε να το κάνουμε αυτό με την επόμενη εντολή.

Σημειώστε τα μονά εισαγωγικά γύρω από τις παραμέτρους για το

date

εντολή. Αποτρέπουν την ερμηνεία του διαστήματος μεταξύ των παραμέτρων ως το τέλος της λίστας παραμέτρων. Διασφαλίζουν ότι οι παράμετροι μεταβιβάζονται σε

date

σωστά.

echo "Logfile started: $(date +'%D %T')" > logfile.txt

cat logfile.txt


Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, Πώς να χρησιμοποιήσετε την εντολή Echo στο Linux, TechWar.gr
logfile.txt σε ένα παράθυρο τερματικού” style=”display:block;height:auto;max-width:100%;” data-img-url=”https://static1.howtogeekimages.com/wordpress/wp-content/ uploads/2019/10/21-2.png” />

Το logfile μας δημιουργείται για εμάς και

cat

μας δείχνει ότι η ημερομηνία και η χρονική σήμανση προστέθηκαν σε αυτό.


Σχετικά: Τι είναι τα stdin, stdout και stderr στο Linux;

Αυτό είναι το ρεπερτόριο του echo

Μια απλή εντολή, αλλά απαραίτητη. Αν δεν υπήρχε, θα έπρεπε να το εφεύρουμε.


VIA:

HowToGeek.com


Leave A Reply



Cancel Reply

Your email address will not be published.