Οι μεταβλητές χρησιμοποιούνται για την αποθήκευση τιμών διαφορετικών τύπων κατά την εκτέλεση του προγράμματος. Υπάρχουν δύο τύποι μεταβλητών στη δέσμη ενεργειών Bash: καθολική και τοπική.

Οι καθολικές μεταβλητές μπορούν να χρησιμοποιηθούν από όλα τα σενάρια Bash στο σύστημά σας, ενώ οι τοπικές μεταβλητές μπορούν να χρησιμοποιηθούν μόνο εντός του σεναρίου (ή του κελύφους) στο οποίο έχουν οριστεί.

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

Τοπικές μεταβλητές Bash

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

var1=Γεια

Το Bash επιτρέπει επίσης πολλαπλές αναθέσεις σε μία γραμμή:

a=6 b=8 c=9

Όπως και πολλές άλλες γλώσσες προγραμματισμού, η Bash χρησιμοποιεί τον τελεστή εκχώρησης

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

Σχετίζεται με: Τι σημαίνει "Bash" στο Linux;

Ένα άλλο βασικό σημείο που πρέπει να προσέξετε: Το Bash δεν σας επιτρέπει να ορίσετε πρώτα μια μεταβλητή και στη συνέχεια να της εκχωρήσετε μια τιμή αργότερα. Πρέπει να αντιστοιχίσετε μια τιμή στη μεταβλητή κατά τη δημιουργία.

var2 # σφάλμα μεταγλώττισης 
var2=Κόσμος

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

# var3=Hello World 
Η # παραπάνω εργασία δεν λειτουργεί
var3='Hello World'

Παρατηρήστε τη χρήση μεμονωμένων εισαγωγικών. Αυτά τα εισαγωγικά ονομάζονται επίσης "ισχυρά εισαγωγικά" επειδή αποδίδουν την τιμή ακριβώς όπως είναι γραμμένη χωρίς να λαμβάνουν υπόψη τυχόν ειδικούς χαρακτήρες.

Στο παραπάνω παράδειγμα, θα μπορούσατε επίσης να έχετε χρησιμοποιήσει διπλά εισαγωγικά ("αδύναμα εισαγωγικά"), αν και αυτό δεν σημαίνει ότι μπορούν πάντα να χρησιμοποιούνται εναλλακτικά. Αυτό συμβαίνει επειδή τα διπλά εισαγωγικά θα αντικαταστήσουν ειδικούς χαρακτήρες (όπως αυτούς με $), αντί να τα ερμηνεύσουμε κυριολεκτικά.

Δείτε το παρακάτω παράδειγμα:

var4=89
echo "Ο αριθμός είναι $var4"
echo 'Ο αριθμός είναι $var4'
# Πρώτες εκτυπώσεις εξόδου: 89
# Η δεύτερη έξοδος εκτυπώνει το "$var4" ως έχει

Εάν θέλετε να αντιστοιχίσετε μια έξοδο γραμμής εντολών στη μεταβλητή σας, χρησιμοποιήστε backquotes (``). Θα αντιμετωπίσουν τη συμβολοσειρά που περικλείεται σε αυτά ως μια εντολή τερματικού και θα επιστρέψουν το αποτέλεσμά της.

var5="Εργάζεστε αυτήν τη στιγμή σε αυτόν τον κατάλογο: `pwd`"

Επέκταση παραμέτρου στο Bash

Η επέκταση παραμέτρου αναφέρεται απλώς στην πρόσβαση στην τιμή μιας μεταβλητής. Στην απλούστερη μορφή του, χρησιμοποιεί τον ειδικό χαρακτήρα $ ακολουθούμενο από το όνομα της μεταβλητής (χωρίς κενά ενδιάμεσα):

var6=Τζακ
echo Το όνομά μου είναι $var6

Μπορείτε επίσης να χρησιμοποιήσετε τη σύνταξη ${variableName} για πρόσβαση στην τιμή μιας μεταβλητής. Αυτή η φόρμα είναι πιο κατάλληλη όταν μπορεί να προκύψει σύγχυση γύρω από το όνομα της μεταβλητής.

m=Ιατρ
Το echo Med σημαίνει ${m}ical

Εάν αφήσετε έξω τις σγουρές αγκύλες, ${m}cal θα ερμηνευθεί ως σύνθετη μεταβλητή (που δεν υπάρχει). Αυτή η χρήση αγκύλων με μεταβλητές είναι γνωστή ως "υποκατάσταση".

Καθολικές μεταβλητές

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

Σχετίζεται με: Πώς να δημιουργήσετε και να εκτελέσετε σενάρια Bash στο Linux

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

Ακολουθούν ορισμένες κοινές χρήσιμες καθολικές μεταβλητές:

ΣΠΙΤΙ: Παρέχει τον αρχικό κατάλογο του χρήστη

ΚΕΛΥΦΟΣ:Παρέχει τον τύπο του κελύφους που χρησιμοποιείτε (π.χ. Bash, csh.. κ.λπ.)

?: Παρέχει την κατάσταση εξόδου της προηγούμενης εντολής

Για να λάβετε μια λίστα με καθολικές μεταβλητές στο σύστημά σας, εκτελέστε το printenv (ή env) εντολή:

$ printenv 

Βρόχοι στο Bash Scripting

Τώρα ξέρετε ποιες είναι οι μεταβλητές, πώς να τις εκχωρήσετε και πώς να εκτελέσετε τη βασική λογική Bash χρησιμοποιώντας τις.

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

Εάν κατακτάτε την τέχνη της ανάπτυξης Bash, Για Οι βρόχοι θα πρέπει να είναι οι επόμενοι στη λίστα σας.

Τρόπος χρήσης του βρόχου for σε ένα σενάριο Linux Bash Shell

Γιατί να εκτελείτε τον ίδιο κώδικα ξανά και ξανά στο σενάριο του κελύφους σας όταν μπορείτε να έχετε έναν βρόχο for να το κάνει για εσάς;

Διαβάστε Επόμενο

ΜερίδιοΤιτίβισμαΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
Σχετικά θέματα
  • Προγραμματισμός
  • Linux Bash Shell
  • Συμβουλές κωδικοποίησης
Σχετικά με τον Συγγραφέα
Τζερόμ Ντέιβιντσον (Δημοσιεύτηκαν 34 άρθρα)

Ο Jerome είναι συγγραφέας προσωπικού στο MakeUseOf. Καλύπτει άρθρα για Προγραμματισμό και Linux. Είναι επίσης λάτρης των κρυπτονομισμάτων και παρακολουθεί πάντα τη βιομηχανία κρυπτογράφησης.

Περισσότερα από τον Jerome Davidson

Εγγραφείτε στο ενημερωτικό μας δελτίο

Εγγραφείτε στο ενημερωτικό μας δελτίο για συμβουλές τεχνολογίας, κριτικές, δωρεάν ebook και αποκλειστικές προσφορές!

Κάντε κλικ εδώ για να εγγραφείτε