The mind behind Linux | Linus Torvalds
Πίνακας περιεχομένων:
Οι δηλώσεις περίπτωσης 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 χρησιμοποιούν δηλώσεις περιπτώσεων για την εκκίνηση, τη διακοπή ή την επανεκκίνηση των υπηρεσιών.
Οι ακριβείς συνθήκες της αναχώρησης του Greene δεν ήταν άμεσα σαφείς στη δήλωση Εταιρία. Η VMware δεν συσχετίζει ρητά την ανακοίνωση με άλλη είδηση που αποκάλυψε την Τρίτη - ότι αναμένει ότι τα έσοδα του 2008 θα είναι "μέτρια κάτω" από την προηγούμενη εκτίμησή της για αύξηση 50% σε σχέση με το 2007.
Ο Maritz έχει διατελέσει πρόεδρος EMC Cloud Division. Είναι επίσης πρώην εκτελεστικό της Microsoft που διαχειριζόταν το μάρκετινγκ και την ανάπτυξη για προϊόντα όπως τα Windows 95 και τα Windows NT. Το 2003, η Maritz δημιούργησε την Pi Corporation, κατασκευαστή του λογισμικού διαχείρισης προσωπικών πληροφοριών που βασίζεται σε cloud, το οποίο αποκτήθηκε από την EMC νωρίτερα έτος
Η ομάδα κατέθεσε αγωγή στην περιοχή Τόκιο Δικαστήριο εναντίον των πέντε την Τρίτη, οι οποίες κατηγορούνται ότι εισάγουν μια συσκευή που ονομάζεται "R4 Revolution for DS". Η μικρή συσκευή χωράει στην υποδοχή της κασέτας DS και επιτρέπει να παίζονται παιχνίδια που είναι αποθηκευμένα σε μια κάρτα Micro SD στο DS. Μπορεί να χρησιμοποιηθεί για να παίξει τόσο το homebrew όσο και τα hacked παιχνίδια στο DS, αλλά είναι το τελευταίο που η Nintendo ξεχώρισε στη δήλωση που περιγράφει λεπτομερώς τ
Αυτό είναι ένας αγώνας κατά του παράνομα αντιγραμμένου και κατεβασμένου λογισμικού υπογραμμίζεται από την παρουσία οι περισσότεροι από τους μεγαλύτερους κατασκευαστές λογισμικού της Ιαπωνίας μαζί με τη Nintendo στο κοστούμι, συμπεριλαμβανομένων των Atlus, Capcom, D3 Publishers, Hudson, Koei, Namco Bandai, Square Enix, Sega, Taito και Tecmo. μπορεί να παραληφθεί στην ηλεκτρονική περιοχή Akihabara του Τόκιο και να κοστίζει γενικά λιγότερο από 5.000 δολάρια (46.33 δολάρια ΗΠΑ), παρόλο που η τιμή αυ
Δήλωση Bash if..else
Η λήψη αποφάσεων είναι μία από τις πιο θεμελιώδεις έννοιες του προγραμματισμού υπολογιστών. Όπως συμβαίνει σε οποιαδήποτε άλλη γλώσσα προγραμματισμού, εάν, εάν ... if, if..elif..else και ένθετο αν οι δηλώσεις στο Bash μπορούν να χρησιμοποιηθούν για την εκτέλεση κώδικα με βάση μια συγκεκριμένη συνθήκη.







