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

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

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

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

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