Πώς να γράψετε μια δήλωση Bash IF (Προϋποθέσεις)
Με ένα αν δήλωση, η οποία είναι ένας τύπος δήλωσης υπό όρους, μπορείτε να εκτελέσετε διαφορετικές ενέργειες ανάλογα με τις καθορισμένες συνθήκες. Δίνει αποτελεσματικά στο σύστημα τη δυνατότητα να λαμβάνει αποφάσεις.

Ακολουθεί ένα παράδειγμα της απλούστερης μορφής ενός αν δήλωση:
καταμέτρηση=5
αν [ $count == 5 ]
τότε
ηχώ "$count"
fi
Σε αυτό το παράδειγμα, η μεταβλητή μετρώ καθορίζει μια συνθήκη που χρησιμοποιείται ως μέρος του αν δήλωση. Πριν το αν εκτελείται η δήλωση, η μεταβλητή μετρώ αποδίδεται η τιμή 5. ο αν η δήλωση στη συνέχεια ελέγχει εάν η τιμή του μετρώ είναι 5. Εάν συμβαίνει αυτό, η δήλωση μεταξύ των λέξεων-κλειδιών τότε και fi εκτελούνται. Διαφορετικά, τυχόν δηλώσεις που ακολουθούν το αν εκτελούνται δήλωση.
Η λέξη κλειδί fi είναι αν ορθογραφία προς τα πίσω. Η γλώσσα δέσμης ενεργειών bash χρησιμοποιεί αυτή τη σύμβαση για να σηματοδοτήσει το τέλος μιας σύνθετης έκφρασης, όπως το an αν δήλωση ή υπόθεση δήλωση.
ο ηχώ Η δήλωση εκτυπώνει το επιχείρημά της, σε αυτήν την περίπτωση, την τιμή της μεταβλητής

Εάν έχετε μια κατάσταση όπου ένα κομμάτι κώδικα πρέπει να εκτελείται μόνο εάν μια συνθήκη δεν είναι αληθής, χρησιμοποιήστε τη λέξη-κλειδί αλλού σε μια αν δήλωση, όπως σε αυτό το παράδειγμα:
καταμέτρηση=5
αν [ $count == 5 ]
τότε
ηχώ "$count"
αλλού
ηχώ "Το μέτρημα δεν είναι 5"
fi
Εάν η προϋπόθεση $count == 5 είναι αλήθεια, το σύστημα εκτυπώνει την τιμή της μεταβλητής μετρώ. Διαφορετικά, τυπώνει τη συμβολοσειρά το μέτρημα δεν είναι 5.

Εάν θέλετε να κάνετε διαφοροποίηση μεταξύ πολλών συνθηκών, χρησιμοποιήστε τη λέξη-κλειδί ελιφ, το οποίο προέρχεται από αλλιώς αν, όπως σε αυτό το παράδειγμα:
αν [ $count == 5 ]
τότε
ηχώ "Το μέτρημα είναι πέντε"
elif [ $count == 6 ]
τότε
ηχώ "Το μέτρημα είναι έξι"
αλλού
ηχώ "τίποτα από τα παραπάνω"
fi
Αν μετρώ είναι 5, το σύστημα εκτυπώνει το μέτρημα είναι πέντε. Αν μετρώ δεν είναι 5 αλλά 6, το σύστημα εκτυπώνει ο αριθμός είναι έξι. Αν δεν είναι κανένα από τα δύο 5 ούτε 6, το σύστημα εκτυπώνει κανένα από τα παραπάνω.
Μπορείτε να έχετε οποιοδήποτε αριθμό από ελιφ ρήτρες. Ένα παράδειγμα πολλαπλών ελιφ προϋποθέσεις είναι:
αν [ $count == 5 ]
τότε
ηχώ "Το μέτρημα είναι πέντε"
elif [ $count == 6 ]
τότε
ηχώ "Το μέτρημα είναι έξι"
elif [ $count == 7 ]
τότε
ηχώ "Το μέτρημα είναι επτά"
elif [ $count == 8 ]
τότε
ηχώ "Το μέτρημα είναι οκτώ"
elif [ $count == 9 ]
τότε
ηχώ "Το μέτρημα είναι εννέα"
αλλού
ηχώ "τίποτα από τα παραπάνω"
fi

Ένας πιο συμπαγής τρόπος για να γράψετε τέτοιες δηλώσεις με πολλαπλές προϋποθέσεις είναι το υπόθεση μέθοδος. Λειτουργεί παρόμοια με το αν δήλωση με πολλαπλάσια ελιφ ρήτρες αλλά είναι πιο συνοπτικό. Για παράδειγμα, το παραπάνω κομμάτι κώδικα μπορεί να ξαναγραφτεί με το υπόθεση δήλωση ως εξής:
περίπτωση "$count" σε
5)
ηχώ "Το μέτρημα είναι πέντε"
;;
6)
ηχώ "Το μέτρημα είναι έξι"
;;
7)
ηχώ "Το μέτρημα είναι επτά"
;;
8)
ηχώ "Το μέτρημα είναι οκτώ"
;;
9)
ηχώ "Το μέτρημα είναι εννέα"
;;
*)
ηχώ "τίποτα από τα παραπάνω"
esac

αν Οι δηλώσεις χρησιμοποιούνται συχνά στο εσωτερικό βρόχους για ή while-loops, όπως σε αυτό το παράδειγμα:
καταμέτρηση=1
έγινε=0
ενώ [ $count -le 9 ]
κάνω
ύπνος 1
(( μέτρηση ++ ))
αν [ $count == 5 ]
τότε
να συνεχίσει
fi
ηχώ "$count"
Έγινε
ηχώ Ολοκληρώθηκε
Μπορείτε επίσης να έχετε φωλιάσει αν δηλώσεις. Το πιο απλό φωλιασμένο αν η δήλωση έχει τη μορφή: αν...τότε...άλλο...εάν...τότε...fi...fi. Ωστόσο, ένα αν Η δήλωση μπορεί να είναι ένθετη με αυθαίρετη πολυπλοκότητα.
Δείτε επίσης πώς να μεταβιβάσετε ορίσματα σε ένα σενάριο bash, το οποίο δείχνει πώς να χρησιμοποιείτε προϋποθέσεις για την επεξεργασία παραμέτρων που μεταβιβάζονται από το γραμμή εντολών.
Το κέλυφος bash παρέχει άλλες δομές προγραμματισμού, όπως βρόχους for-loop, while-loops και αριθμητικές εκφράσεις.