Πώς να επιστρέψετε μια συμβολοσειρά από λειτουργίες Bash

How Return String From Bash Functions



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

Παράδειγμα-1: Χρήση καθολικής μεταβλητής

Η συνάρτηση Bash μπορεί να επιστρέψει μια τιμή συμβολοσειράς χρησιμοποιώντας μια καθολική μεταβλητή. Στο ακόλουθο παράδειγμα, μια καθολική μεταβλητή, « retval ' χρησιμοποιείται. Μια τιμή συμβολοσειράς εκχωρείται και εκτυπώνεται σε αυτήν την καθολική μεταβλητή πριν και μετά την κλήση της συνάρτησης. Η τιμή της καθολικής μεταβλητής θα αλλάξει μετά την κλήση της συνάρτησης. Αυτός είναι ένας τρόπος επιστροφής τιμής συμβολοσειράς από μια συνάρτηση bash.







λειτουργίαF1()
{
επανάληψη=«Μου αρέσει ο προγραμματισμός»
}

επανάληψη=«Μισώ τον προγραμματισμό»
πέταξε έξω $ retval
F1
πέταξε έξω $ retval

Δημιουργήστε ένα αρχείο bash με όνομα func1.sh με τον παραπάνω κώδικα και εκτελέστε το σενάριο από το τερματικό. Εδώ, η έξοδος « Μου αρέσει ο προγραμματισμός Εκχωρείται και εκτυπώνεται μετά από κλήση λειτουργίας.





Παράδειγμα-2: Χρήση εντολής λειτουργίας

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





λειτουργίαF2()
{
τοπικός επανάληψη='Χρήση της λειτουργίας BASH'
πέταξε έξω '$ retval'
}

getval= $(F2)
πέταξε έξω $ getval

Δημιουργήστε ένα σενάριο bash με όνομα func2.sh με τον παραπάνω κώδικα και εκτελέστε το σενάριο.




Παράδειγμα-3: Χρήση μεταβλητής

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

λειτουργίαF3()
{
τοπικός arg1=$ 1

αν [[ $ arg1 !='' ]]?
τότε
επανάληψη='Λειτουργία BASH με μεταβλητή'
αλλού
πέταξε έξω «Χωρίς επιχείρημα»
είναι
}

getval1='Λειτουργία Bash'
F3$ getval1
πέταξε έξω $ retval
getval2= $(F3)
πέταξε έξω $ getval2

Δημιουργήστε ένα σενάριο bash που ονομάζεται func3.sh με τον παραπάνω κώδικα και εκτελέστε το σενάριο.

Παράδειγμα-4: Χρήση δήλωσης επιστροφής

Οι περισσότερες από τις τυπικές γλώσσες προγραμματισμού χρησιμοποιούν την εντολή return για να επιστρέψουν μια τιμή από τη συνάρτηση. Οι τιμές συνάρτησης επιστρέφονται χωρίς να χρησιμοποιήσετε καμία δήλωση επιστροφής στα παραπάνω παραδείγματα. Στο ακόλουθο παράδειγμα, η δήλωση επιστροφής χρησιμοποιείται για να επιστρέψει μια αριθμητική τιμή από τη συνάρτηση F4 Το Εδώ, $? χρησιμοποιείται για την ανάγνωση της τιμής 35 που επιστρέφεται από τη συνάρτηση χρησιμοποιώντας ΕΠΙΣΤΡΟΦΗ δήλωση.

λειτουργίαF4() {
πέταξε έξω «Δήλωση επιστροφής Bash»
ΕΠΙΣΤΡΟΦΗ 35
}

F4
πέταξε έξω 'Η τιμή επιστροφής της συνάρτησης είναι $;'

Δημιουργήστε ένα σενάριο bash με όνομα func4.sh με τον παραπάνω κώδικα και εκτελέστε το σενάριο.

Μπορείτε να χρησιμοποιήσετε συναρτήσεις bash με διάφορους τρόπους για να επιστρέψετε οποιαδήποτε συμβολοσειρά ή αριθμητική τιμή μετά την κλήση της συνάρτησης. Για περισσότερες πληροφορίες δείτε το βίντεο !