Android

Δήλωση Bash

The mind behind Linux | Linus Torvalds

The mind behind Linux | Linus Torvalds

Πίνακας περιεχομένων:

Anonim

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

Η δήλωση Bash έχει παρόμοια έννοια με τη δήλωση του Javascript ή C switch. Η κύρια διαφορά είναι ότι σε αντίθεση με τη δήλωση διακόπτη C, η δήλωση Bash δεν συνεχίζει να ψάχνει για μια αντιστοίχιση προτύπου αφού βρει μία και εκτελέστηκε δηλώσεις που σχετίζονται με αυτό το μοτίβο.

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

Σύνταξη δήλωσης περιπτώσεων

Η δήλωση Bash λαμβάνει την ακόλουθη μορφή:

case EXPRESSION in PATTERN_1) STATEMENTS;; PATTERN_2) STATEMENTS;; PATTERN_N) STATEMENTS;; *) STATEMENTS;; esac

  • Κάθε δήλωση περίπτωσης ξεκινά με τη λέξη-κλειδί case ακολουθούμενη από την έκφραση περιπτώσεων και τη λέξη-κλειδί. Η δήλωση τελειώνει με τη λέξη-κλειδί esac.Μπορείτε να χρησιμοποιήσετε πολλαπλά μοτίβα που χωρίζονται από το | χειριστής. Ο τελεστής τερματίζει μια λίστα μοτίβων. Ένα μοτίβο μπορεί να έχει ειδικούς χαρακτήρες. Ένα πρότυπο και οι σχετικές εντολές του είναι γνωστές ως ρήτρα. Κάθε ρήτρα πρέπει να τερματιστεί με ;; . Οι εντολές που αντιστοιχούν στο πρώτο πρότυπο που ταιριάζει με την έκφραση εκτελούνται. Είναι συνήθης πρακτική η χρήση του σύμβολο αστερίσκου ( * ) ως τελικού σχεδίου για τον ορισμό της προεπιλεγμένης περίπτωσης. Αυτό το μοτίβο θα ταιριάζει πάντα.Αν δεν υπάρχει αντιστοιχισμένο πρότυπο, η κατάσταση επιστροφής είναι μηδέν. Διαφορετικά, η κατάσταση επιστροφής είναι η κατάσταση εξόδου των εκτελεσθεισών εντολών.

Παράδειγμα δήλωσης περιπτώσεων

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

languages.sh

#!/bin/bash echo -n "Enter the name of a country: " read COUNTRY echo -n "The official language of $COUNTRY is " case $COUNTRY in Lithuania) echo -n "Lithuanian";; Romania | Moldova) echo -n "Romanian";; Italy | "San Marino" | Switzerland | "Vatican City") echo -n "Italian";; *) echo -n "unknown";; esac

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

bash languages.sh

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

Το σενάριο θα εκτυπώσει την ακόλουθη έξοδο:

Enter the name of a country: Lithuania The official language of Lithuania is Lithuanian

Enter the name of a country: Argentina The official language of Argentina is unknown

συμπέρασμα

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

bash terminal