Πώς να χρησιμοποιήσετε μεταβλητές στον προγραμματισμό Bash

How Use Variables Bash Programming



Οι μεταβλητές λειτουργούν ως προσωρινή αποθήκευση για οποιαδήποτε γλώσσα προγραμματισμού. Ο κωδικοποιητής πρέπει να έχει μια σαφή ιδέα για τη χρήση διαφορετικών μεταβλητών στον κώδικα. Οι μεταβλητές χρησιμοποιούνται για την αποθήκευση συγκεκριμένων δεδομένων. Οι πιο συχνά χρησιμοποιούμενοι τύποι δεδομένων μεταβλητών είναι ακέραιοι, συμβολοσειρές, float, double και Boolean. Ο τύπος δεδομένων οποιασδήποτε μεταβλητής πρέπει να οριστεί κατά τη στιγμή της δήλωσης μεταβλητής για γλώσσες προγραμματισμού ισχυρού τύπου. Αλλά η BASH είναι μια γλώσσα προγραμματισμού με αδύναμη πληκτρολόγηση που δεν απαιτεί τον καθορισμό οποιουδήποτε τύπου δεδομένων κατά τη στιγμή της δήλωσης μεταβλητής. Έτσι, όταν οποιαδήποτε αριθμητική τιμή εκχωρείται σε μια μεταβλητή, τότε θα λειτουργεί ως ακέραιος αριθμός και όταν οποιαδήποτε τιμή κειμένου εκχωρείται σε μια μεταβλητή, τότε είναι συμβολοσειρά. Οι μεταβλητές BASH μπορούν να χρησιμοποιηθούν από τερματικό ή σε οποιοδήποτε αρχείο BASH. Η χρήση διαφορετικών τύπων μεταβλητών BASH περιγράφεται σε αυτό το σεμινάριο χρησιμοποιώντας πολλά παραδείγματα.

Χρήση μεταβλητής από γραμμή εντολών ή τερματικό

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







Παράδειγμα-1: Δήλωση και ανάγνωση δεδομένων συμβολοσειράς με χρήση μεταβλητής

Εκτελέστε τις ακόλουθες εντολές από το τερματικό.



$myvar=«Προγραμματισμός BASH»
$πέταξε έξω $ myvar

Παραγωγή:



Προγραμματισμός μεταβλητών Bash





Παράδειγμα-2: Συνδυασμός δύο μεταβλητών συμβολοσειράς

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

$var1='Η τιμή αυτού του εισιτηρίου είναι $'
$var2=πενήντα
$πέταξε έξω $ var1$ var2

Παραγωγή:



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

Παράδειγμα-3: Συνένωση συμβολοσειρών με μεταβλητές

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

$όπου='ΚΤΥΠΩ ΔΥΝΑΤΑ'
$πέταξε έξω '$ varΠρογραμματισμός'
$πέταξε έξω 'Προγραμματισμός $ var'

Παραγωγή:

Παράδειγμα-4: Δήλωση και ανάγνωση αριθμητικών δεδομένων με χρήση μεταβλητής μικρό

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

$ν=100
$πέταξε έξω $ n
$πέταξε έξω $ n+είκοσι
$((ν= n+είκοσι))
$πέταξε έξω $ n

Παραγωγή:

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

προ ΧΡΙΣΤΟΥ Η εντολή είναι ένας άλλος τρόπος για να κάνετε αριθμητική λειτουργία στο BASH. Εκτελέστε τις ακόλουθες εντολές από το τερματικό. Όταν χρησιμοποιείτε προ ΧΡΙΣΤΟΥ εντολή μόνο για την εκτέλεση οποιασδήποτε αριθμητικής πράξης τότε κλασματικά μέρη παραλείπονται από το αποτέλεσμα. Πρέπει να χρησιμοποιήσετε -ο επιλογή με προ ΧΡΙΣΤΟΥ εντολή για να λάβετε το αποτέλεσμα με κλασματική τιμή.

$ν=55
$πέταξε έξω $ n/10 | προ ΧΡΙΣΤΟΥ
$πέταξε έξω $ n/10 | προ ΧΡΙΣΤΟΥ -ο

Παραγωγή:

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

Μπορείτε να ορίσετε τη μεταβλητή στο αρχείο bash με τον ίδιο τρόπο που αναφέρεται στα παραπάνω παραδείγματα. Πρέπει να δημιουργήσετε αρχείο με .SH ή .κτυπώ δυνατά επέκταση για εκτέλεση σεναρίου bash.

Παράδειγμα-6: Δημιουργία απλού σεναρίου bash

Αντιγράψτε τον ακόλουθο κώδικα σε έναν επεξεργαστή κειμένου και αποθηκεύστε το αρχείο με επέκταση bash. Σε αυτό το σενάριο, δηλώνονται μία συμβολοσειρά και μία αριθμητική μεταβλητή.

Π=«Μάθετε προγραμματισμό BASH»

#τιμή συμβολοσειράς εκτύπωσης
πέταξε έξω $ str

σε ένα=120

#αφαιρέστε 20 από αριθμητική μεταβλητή
(( αποτέλεσμα=$ αριθ-είκοσι))

#εκτύπωση αριθμητικής τιμής
πέταξε έξω $ αποτέλεσμα

Παραγωγή:

Παράδειγμα-7: Χρήση καθολικών και τοπικών μεταβλητών

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

#!/bin/bash
ν=5
λειτουργίαπρόσθεση()
{
τοπικός ν=6
τοπικός Μ=4
(( ν= n+m))
πέταξε έξω $ n

}
πρόσθεση
πέταξε έξω $ n

Παραγωγή:

Παράδειγμα-8: Χρήση μεταβλητής πίνακα

Η μεταβλητή πίνακα χρησιμοποιείται για την αποθήκευση μιας λίστας δεδομένων. Το ακόλουθο παράδειγμα δείχνει πώς χρησιμοποιείτε τη μεταβλητή πίνακα στο σενάριο bash. Τα στοιχεία οποιασδήποτε συστοιχίας χωρίζονται με διάστημα στο BASH. Εδώ, δηλώνεται ένας πίνακας 6 στοιχείων. Δεν υπάρχει ενσωματωμένη συνάρτηση ή ιδιότητα για την καταμέτρηση των συνολικών στοιχείων του πίνακα. # με * χρησιμοποιείται για την καταμέτρηση των συνολικών στοιχείων. Όλα τα στοιχεία υποδεικνύονται με *. Για βρόχο χρησιμοποιείται εδώ για να επαναλάβει τις τιμές του πίνακα. Η ανάγνωση τιμών πίνακα και τιμών πίνακα με κλειδί εμφανίζονται στο επόμενο μέρος αυτού του σεναρίου.

#!/bin/bash

μύρια=(HTML JavaScript PHP jQuery AngularJS CodeIgniter)

#Υπολογίστε τον συνολικό αριθμό στοιχείων του πίνακα
σύνολο=$ {#myarr [*]}
πέταξε έξω «Συνολικά στοιχεία:$ συνολικά'

#Εκτύπωση κάθε τιμής στοιχείου του πίνακα
πέταξε έξω 'Τιμές πίνακα:'
Γιαωρεςσε $ {myarr [*]}
κάνω
printf ' %s n' $ ώρες
Έγινε

#Εκτυπώστε κάθε τιμή στοιχείου του πίνακα με κλειδί

πέταξε έξω 'Τιμές πίνακα με κλειδί:'
Γιακλειδίσε $ {! myarr [*]}
κάνω
printf ' %4d: %s n' $ κλειδί $ {myarr [$ key]}
Έγινε

Παραγωγή:

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