Οι μεταβλητές Shell είναι σημαντικές για την ομαλή λειτουργία οποιουδήποτε συστήματος Linux. Για παράδειγμα, κάθε φορά που εκτελείτε ένα πρόγραμμα ή μια εντολή, το σύστημά σας κοιτάζει στη μεταβλητή PATH για να ελέγξει εάν το πρόγραμμα είναι παρόν. Η γνώση των μεταβλητών του κελύφους είναι σημαντική για την καθημερινή σας χρήση ή διαχείριση συστημάτων Linux.
Η σημασία των μεταβλητών του κελύφους
Μια μεταβλητή φλοιού είναι ένα σύμβολο κράτησης θέσης για την αποθήκευση πληροφοριών που χρησιμοποιούνται από το σύστημα Linux, τα προγράμματα ή τα σενάρια.
Υπάρχουν διάφοροι τύποι κελύφους ή διερμηνείς γραμμής εντολών στο Linux, όλοι εκ των οποίων χρησιμοποιούν μεταβλητές εκτενώς. Μερικοί από τους σημαντικούς ρόλους που παίζουν οι μεταβλητές φλοιού περιλαμβάνουν:
- Οι μεταβλητές φλοιού σάς επιτρέπουν να αποθηκεύετε και να χειρίζεστε τιμές στο φλοιό και μπορούν να χειρίζονται αποτελέσματα σε υπολογισμούς ή άλλες λειτουργίες.
- Παρέχουν έναν τρόπο μεταβίβασης τιμών μεταξύ σεναρίων και προγραμμάτων
- Μπορείτε να χρησιμοποιήσετε μεταβλητές φλοιού για να προσαρμόσετε τη συμπεριφορά των προγραμμάτων
Οι μεταβλητές του κελύφους είναι πολύ ευέλικτες. μπορείτε επίσης να δημιουργήσετε τις δικές σας προσαρμοσμένες μεταβλητές, αλλά εδώ είναι μερικές από τις προεπιλεγμένες μεταβλητές που συνοδεύουν το σύστημά σας.
1. ΜΟΝΟΠΑΤΙ
Η μεταβλητή PATH καθορίζει τους καταλόγους στους οποίους το σύστημα πρέπει να αναζητήσει εκτελέσιμα αρχεία όταν εισάγετε μια εντολή στο τερματικό.
Είναι μια μεταβλητή περιβάλλοντος σε όλο το σύστημα και περιλαμβάνει μια λίστα καταλόγων διαχωρισμένη με άνω και κάτω τελεία. Κάθε κατάλογος αναζητείται με τη σειρά του για ένα εκτελέσιμο αρχείο με το ίδιο όνομα με την εντολή που πληκτρολογήσατε.
Για παράδειγμα, αν μπείτε την εντολή ls στο τερματικό, το σύστημα θα πραγματοποιήσει αναζήτηση στους καταλόγους που καθορίζονται στη μεταβλητή PATH για την εντολή που ονομάζεται ls. Αν βρει το αρχείο, θα το τρέξει. Εάν όχι, θα εμφανίσει το μήνυμα σφάλματος "η εντολή δεν βρέθηκε".
Η μεταβλητή PATH είναι σημαντική επειδή σας επιτρέπει να εκτελείτε εντολές από οποιονδήποτε κατάλογο χωρίς να χρειάζεται να καθορίσετε την πλήρη διαδρομή προς το εκτελέσιμο αρχείο. Για παράδειγμα, εάν έχετε το εκτελέσιμο αρχείο "ls" στο /usr/bin κατάλογο, μπορείτε να εκτελέσετε την εντολή ls από οποιονδήποτε κατάλογο πληκτρολογώντας απλά ls, αντί να προσδιορίσετε την πλήρη διαδρομή, π.χ. /usr/bin/ls.
Μπορείτε να δείτε την τρέχουσα τιμή της μεταβλητής PATH εκτελώντας την εντολή echo ως εξής:
ηχώ $PATH
Μπορείτε επίσης να τροποποιήσετε την τιμή της μεταβλητής PATH προσθέτοντας ή αφαιρώντας καταλόγους από τη λίστα. Αυτό μπορεί να είναι χρήσιμο εάν θέλετε να προσθέσετε έναν κατάλογο που περιέχει τα δικά σας εκτελέσιμα ή προσαρμοσμένα σενάρια ή εάν θέλετε να τροποποιήσετε τους καταλόγους που αναζητούνται κατά την εκτέλεση εντολών.
2. ΣΠΙΤΙ
Στο Linux, η μεταβλητή HOME είναι μια μεταβλητή περιβάλλοντος που καθορίζει τη διαδρομή προς τον αρχικό κατάλογο του χρήστη. Γιατί είναι αυτό τόσο σημαντικό; Λοιπόν, το Linux είναι ένα λειτουργικό σύστημα πολλών χρηστών και ο αρχικός φάκελος είναι ένας ειδικός κατάλογος στο σύστημά σας που σχετίζεται με κάθε χρήστη.
Ο αρχικός κατάλογος χρησιμοποιείται συνήθως για την αποθήκευση των προσωπικών αρχείων του χρήστη, όπως έγγραφα, εικόνες, μουσική κ.λπ.
Η μεταβλητή HOME ρυθμίζεται συνήθως αυτόματα όταν συνδέεστε και χρησιμοποιείται από πολλά προγράμματα και σενάρια για τον εντοπισμό του αρχικού καταλόγου του χρήστη. Για παράδειγμα, όταν εκτελείτε την εντολή cd χωρίς ορίσματα, χρησιμοποιεί τη μεταβλητή HOME για πλοήγηση στον αρχικό κατάλογο του χρήστη.
Πολλά προγράμματα χρησιμοποιούν τη μεταβλητή HOME για την αποθήκευση αρχείων διαμόρφωσης ή άλλων δεδομένων στον αρχικό κατάλογο του χρήστη. Μπορείτε να δείτε την τρέχουσα τιμή της μεταβλητής HOME εκτελώντας το ηχώ $HOME εντολή.
3. ΧΡΗΣΤΗΣ
Η μεταβλητή USER καθορίζει το όνομα χρήστη του τρέχοντος συνδεδεμένου χρήστη. Ρυθμίζεται αυτόματα όταν συνδέεστε και χρησιμοποιείται συνήθως από προγράμματα και σενάρια για τον προσδιορισμό του ονόματος χρήστη του τρέχοντος χρήστη.
Η μεταβλητή USER χρησιμοποιείται συχνά σε σενάρια για την προσαρμογή της συμπεριφοράς ενός προγράμματος με βάση τον τρέχοντα χρήστη. Για παράδειγμα, ένα σενάριο μπορεί να ελέγξει την τιμή της μεταβλητής USER και να εκτελέσει ορισμένες ενέργειες μόνο εάν ο τρέχων χρήστης έχει δικαιώματα root ή sudo.
Μπορείτε επίσης να χρησιμοποιήσετε τη μεταβλητή για την εκτέλεση ορισμένων γενικών εντολών. Για παράδειγμα, όταν προσθέτετε τον χρήστη σας στην ομάδα docker, μπορείτε απλώς να εκτελέσετε την ακόλουθη εντολή αντί να πληκτρολογήσετε το πραγματικό όνομα χρήστη:
sudo usermod -aG docker $USER
4. ΚΕΛΥΦΟΣ
Ένα κέλυφος είναι ένα πρόγραμμα που παρέχει μια διεπαφή γραμμής εντολών (CLI) για αλληλεπίδραση με το λειτουργικό σύστημα.
Τα περισσότερα συστήματα Linux χρησιμοποιούν το Bourne Again Shell (Bash) ως προεπιλογή, αλλά υπάρχουν πολλές εναλλακτικές λύσεις. Το κέλυφος C (csh), το κέλυφος Z (Zsh), το ψάρι κ.λπ.
Η μεταβλητή SHELL καθορίζει τη διαδρομή προς το προεπιλεγμένο κέλυφος του χρήστη. Ρυθμίζεται αυτόματα όταν συνδέεστε.
Επιπλέον, η μεταβλητή χρησιμοποιείται σε σενάρια για την προσαρμογή της συμπεριφοράς των προγραμμάτων με βάση το προεπιλεγμένο κέλυφος του χρήστη. Για παράδειγμα, ένα σενάριο μπορεί να ελέγξει την τιμή της μεταβλητής SHELL και να χρησιμοποιήσει διαφορετική σύνταξη ή επιλογές ανάλογα με το φλοιό που χρησιμοποιείται.
Μπορείτε να δείτε την τρέχουσα τιμή της μεταβλητής SHELL εκτελώντας το ηχώ $SHELL. Μπορείς να αλλάξεις το προεπιλεγμένο κέλυφος χρησιμοποιώντας την εντολή chsh.
5. ΑΜΕΑ
Μια άλλη σημαντική μεταβλητή περιβάλλοντος στο Linux, το PWD αποθηκεύει τον τρέχοντα κατάλογο εργασίας σας. Σε αντίθεση με τις περισσότερες μεταβλητές περιβάλλοντος που είναι ως επί το πλείστον στατικές, αυτή ενημερώνεται από το κέλυφος όποτε εσείς αλλάξτε καταλόγους χρησιμοποιώντας την εντολή cd.
Μπορείτε να χρησιμοποιήσετε τη μεταβλητή PWD στα σενάρια φλοιού σας για να ανατρέξετε εύκολα στον τρέχοντα κατάλογο εργασίας. Η τιμή της μεταβλητής είναι παρόμοια με αυτή που λαμβάνετε όταν εκτελείτε την εντολή pwd.
6. HOSTNAME
Ένα όνομα κεντρικού υπολογιστή ή όνομα συσκευής είναι ένα μοναδικό όνομα που χρησιμοποιείται για την αναγνώριση του υπολογιστή σας σε ένα δίκτυο. Για παράδειγμα, όταν θέλετε να κάνετε SSH σε ένα μηχάνημα, μπορείτε απλώς να χρησιμοποιήσετε το όνομα κεντρικού υπολογιστή αντί για τη διεύθυνση IP.
Η μεταβλητή HOSTNAME είναι μια μεταβλητή περιβάλλοντος που απλώς καθορίζει το όνομα κεντρικού υπολογιστή του συστήματος. Ρυθμίζεται αυτόματα κατά την εκκίνηση του συστήματος και συνήθως χρησιμοποιείται για την αναγνώριση του συστήματος όταν είναι συνδεδεμένο σε δίκτυο. Υπάρχουν διάφοροι τρόποι με τους οποίους μπορεί να αλλάξει το όνομα κεντρικού υπολογιστή στο Linux.
Η μεταβλητή HOSTNAME χρησιμοποιείται επίσης από προγράμματα και σενάρια για την αναγνώριση του συστήματος και την προσαρμογή της συμπεριφοράς του με βάση το όνομα κεντρικού υπολογιστή. Ένα σενάριο συνήθως ελέγχει την τιμή της μεταβλητής HOSTNAME και εκτελεί ορισμένες ενέργειες μόνο εάν το σύστημα είναι ένας συγκεκριμένος κεντρικός υπολογιστής.
Δημιουργία προσαρμοσμένης μεταβλητής στο Linux
Εκτός από τις προεπιλεγμένες μεταβλητές Linux που ορίζονται αυτόματα για εσάς. Μπορείτε επίσης να ορίσετε τις δικές σας μεταβλητές φλοιού χρησιμοποιώντας την εντολή εξαγωγής. Για να δημιουργήσετε μια νέα μεταβλητή που ονομάζεται GREETING με την τιμή "Hello World", μπορείτε να χρησιμοποιήσετε την ακόλουθη εντολή:
εξαγωγή ΧΑΙΡΕΤΙΣΜΟΣ="Γειά σου Κόσμε"
Στη συνέχεια, μπορείτε να χρησιμοποιήσετε τη μεταβλητή GREETING στα σενάρια σας ή στη γραμμή εντολών όπως και κάθε άλλη μεταβλητή περιβάλλοντος.