Bash If Variable is Empty Do Actions

Bash If Variable Is Empty Do Actions



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

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







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



Bash Basic - Μεταβλητές 101

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



Για να δημιουργήσουμε μια απλή μεταβλητή στο Bash, χρησιμοποιούμε το όνομα της μεταβλητής.





Για παράδειγμα:

#!/bin/bash

$ i_am

Μόλις αρχίσετε τη μεταβλητή, μπορείτε να της αντιστοιχίσετε την τιμή χρησιμοποιώντας ένα πρόσημο ίσου ως:



#!/bin/bash

Είμαι= ubuntu

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

#!/bin/bash

πέταξε έξω $ i_am

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

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

Ιδού ένα παράδειγμα:

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

Για έναν λεπτομερή οδηγό σχετικά με τον τρόπο δημιουργίας μεταβλητών bash, λάβετε υπόψη τον παρακάτω πόρο:

https://linuxhint.com/variables_bash/

Bash Basics - If Δηλώσεις

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

Ας κάνουμε μια γρήγορη ανακεφαλαίωση για τον τρόπο χρήσης του Bash εάν, αν ... αλλιώς και αν ... elif ... αλλιώς

Το αν μικρό tatement

Η γενική σύνταξη για τη χρήση μιας δήλωσης if στο Bash είναι όπως φαίνεται παρακάτω:

#!/bin/bash

αν {κατάσταση}

τότε

κάνω

είναι

Ξεκινάμε μια δήλωση if καλώντας τη λέξη -κλειδί if. Στη συνέχεια, ακολουθούμε καθορίζοντας τη συνθήκη για έλεγχο. Η συνθήκη μπορεί να είναι μια απλή ή μια σύνθετη έκφραση αρκεί να αξιολογείται ως αληθής ή λανθασμένη.

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

Τέλος, κλείνουμε τη δήλωση if χρησιμοποιώντας τη λέξη -κλειδί fi.

Αν… αλλιώς δηλώσεις

Μια εντολή bash if… else καθορίζει μια επιπλέον ενέργεια εάν η συνθήκη εκτιμηθεί ως ψευδής. Η γενική σύνταξη είναι:

#!/bin/bash

αν {κατάσταση}

τότε

κάνω

αλλού

κάνω

είναι

Παράδειγμα Χρήσης

Επιτρέψτε μου να χρησιμοποιήσω ένα απλό παράδειγμα για να επεξηγήσω τη χρήση των προτάσεων if.

Η εντολή if είναι όπως φαίνεται παρακάτω:

#!/bin/bash
σε ένα=1
αν [[ $ αριθ -gt5 ]]
τότε
πέταξε έξω '$ αριθείναι μεγαλύτερο από 5 '
αλλού
πέταξε έξω '$ αριθείναι μικρότερο από 5 '
είναι

Η έξοδος είναι όπως φαίνεται παρακάτω:

Δεδομένου ότι έχουμε τώρα τα βασικά αν οι προτάσεις σιδερώνονται, ας προχωρήσουμε σε αυτό το σεμινάριο.

Ελέγξτε αν οι προτάσεις αναφέρονται λεπτομερώς παρακάτω:

https://linuxhint.com/bash_conditional_statement/

Πώς να ελέγξετε εάν η μεταβλητή είναι κενή

Ένας δημοφιλής και απλός τρόπος για να ελέγξετε εάν μια μεταβλητή είναι κενή είναι να χρησιμοποιήσετε την επιλογή -z στη δήλωση συνθήκης.

Το -z $ var επιστρέφει true αν μια μεταβλητή είναι κενή και false αν όχι.

Η γενική σύνταξη για μια τέτοια δοκιμή είναι:

#!/bin/bash
αν [[ -Με $ var ]]
τότε
κάνω
αλλού
κάνω
είναι

Παράδειγμα σεναρίου

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

Εξετάστε το παρακάτω σενάριο:

#!/bin/bash
πέταξε έξω 'Εισαγάγετε τη διαδρομή για πλοήγηση στο:'

ανάγνωση_μονοπάτι

ενώ [[ -Με $ _path ]]?κάνω
πέταξε έξω 'Παρακαλώ δώστε μια διαδρομή'
Έγινε
πέταξε έξω «Πλοήγηση σε$ _path'
CD $ _path

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

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

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

συμπέρασμα

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

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

Ευχαριστώ, και Καλό Χρόνο Γραφής !!