${ varname :- λέξη }: Εάν το varname υπάρχει και δεν είναι null, επιστρέφει την τιμή του varname, διαφορετικά επιστρέφει word. Χρησιμοποιείται για την επιστροφή μιας προεπιλεγμένης τιμής όταν μια μεταβλητή δεν υπάρχει ή δεν έχει οριστεί. Αν είναι ${ varname - word }, μπορεί να είναι null όταν υπάρχει το varname, π.χ. ορίζουμε myparam=, επιστρέφοντας την τιμή του varname, αλλιώς επιστρέφοντας τη λέξη. Μπορείτε επίσης να διαγράψετε το ":", το οποίο έχει την ίδια σημασία και δεν επαναλαμβάνεται.
${ varname := λέξη }: Εάν το varname υπάρχει και δεν είναι null, επιστρέφει την τιμή του varname, διαφορετικά του εκχωρεί μια τιμή λέξης και επιστρέφει αυτήν την τιμή. Χρησιμοποιείται για τον ορισμό μιας προεπιλογής για μια μεταβλητή που δεν υπάρχει ή δεν έχει οριστεί. Για παραμέτρους θέσης, μόνο για ανάγνωση και δεν μπορεί να αντιστοιχιστεί.
${ varname :? μήνυμα }: Εάν το varname υπάρχει και δεν είναι null, επιστρέφει την τιμή του varname, διαφορετικά εκτυπώνει τις πληροφορίες varname:message και abort script, εάν δεν ορίσουμε μήνυμα, θα χρησιμοποιηθεί η προεπιλεγμένη "παράμετρος null or not set". Χρησιμοποιείται για τον έλεγχο σφαλμάτων όπου δεν ορίζονται μεταβλητές.
${ varname :+ λέξη }: Εάν το varname υπάρχει και δεν είναι null, επιστρέφει την τιμή της λέξης, διαφορετικά επιστρέφει null. Χρησιμοποιείται για την ανίχνευση της παρουσίας ή της απουσίας μεταβλητών.
${ varname : μετατόπιση : μήκος }: Λειτουργία για τη λήψη της υποσυμβολοσειράς. Επιστρέφει μια σειρά μήκους από τη θέση μετατόπισης στο varname. Η πρώτη θέση είναι 0, εάν το μήκος δεν δίνεται ή δεν είναι έγκυρο (μικρότερο από 0), επιστρέφονται όλοι οι χαρακτήρες μετά τη μετατόπιση και εάν είναι {@:offset:length}, επιστρέφεται η παράμετρος συνολικού μήκους της παραμέτρου σεναρίου από την πρώτη παράμετρο μετατόπισης.
Δημιουργήστε ένα νέο test.sh δοκιμαστικό σενάριο ως εξής:
|