συστήματα

* Γνώση Υπολογιστών >> συστήματα >> Linux

Shell Script και Μεταβλητό Μεγέθη

Το εξωτερικό στρώμα του λειτουργικού συστήματος Unix ονομάζεται το κέλυφος . Το κέλυφος είναι μια διεπαφή μεταξύ του χρήστη και το λειτουργικό σύστημα . Μπορείτε να προγραμματίσετε το κέλυφος για να αυτοματοποιήσει τα βασικά του καθήκοντα . Unix παρέχει διάφορες μορφές προγραμματισμού κέλυφος που ακολουθούν ένα κοινό βασικό μοτίβο . Το C Shell , Korn Shell , Bourne Shell και το bash GNU είναι δημοφιλείς γλώσσες προγραμματισμού . Ένα shell script είναι ένα πρόγραμμα που ερμηνεύεται από το κέλυφος . Τα σενάρια περιλαμβάνουν μεταβλητές . Μπορείτε να αναθέσετε τιμές σε μεταβλητές και έχουν πρόσβαση σε αυτά , όπως απαιτείται . Το Unix περιβάλλον
Η

Στο Unix και Unix -like συστήματα , το κέλυφος γίνεται το περιβάλλον του χρήστη . Μία διεργασία έχει το δικό του περιβάλλον . Ένα εκτελέσιμο πρόγραμμα δέχεται τα επιχειρήματα από την γραμμή εντολών. Τα επιχειρήματα αυτά είναι οι μεταβλητές περιβάλλοντος και καταλαμβάνουν μνήμης στο χώρο του περιβάλλοντος διαδικασία . Οι μεταβλητές σε ένα σενάριο φλοιού είναι επίσης μεταβλητές περιβάλλοντος και καταλαμβάνουν χώρο δεδομένων στη στοίβα διαδικασία . Εδώ , η εκτέλεση του σεναρίου κελύφους είναι η διαδικασία . Ως εκ τούτου , στο υψηλότερο επίπεδο , το περιβάλλον διαδικασία επιβάλλει κάποιο όριο για τον αριθμό των μεταβλητών και του χώρου που καταλαμβάνουν .
Εικόνων The Variable Shell
Η

Ορίστε μια μεταβλητή σε ένα shell script με την ανάθεση μιας τιμής σε αυτό . Δεν υπάρχουν καθορισμένοι τύποι δεδομένων σε ένα σενάριο φλοιού . Η μεταβλητή μπορεί να πάρει οποιαδήποτε τιμή συμβολοσειράς χαρακτήρων ή αυθαίρετη αριθμητικές τιμές . Όταν εκχωρείτε τιμή σε μια μεταβλητή κέλυφος, το σύστημα διαθέτει αρκετή μνήμη για την αποθήκευση της τιμής. Η σύνταξη διαφέρει ανάλογα με το λειτουργικό σύστημα και τον τύπο κελύφους. Για παράδειγμα , το κέλυφος Korn , θα αναθέσετε τιμές όπως αυτό : $ MyVar = " ABCD123 " Στο C Shell , η σύνταξη είναι ως εξής : που MyVar = " ABCD123 "

Θεωρητικά , δεν υπάρχει όριο σχετικά με το μέγεθος της μεταβλητής τιμής . Ωστόσο , όπως αναφέρεται στην παράγραφο 1 , τους πόρους του λειτουργικού συστήματος και του περιβάλλοντος χώρου της διαδικασίας κατά το χρόνο εκτέλεσης μπορεί ενδεχομένως να αρνηθεί τον απαιτούμενο χώρο για μια πολύ μεγάλη τιμή .

Η Υπολογισμός του μεγέθους ενός Shell μεταβλητή
Η

Υπολογίστε το μέγεθος της μεταβλητής του κελύφους MyVar ως εξής : $ MyVar_len = $ { # } MyVar

Η ακόλουθη δήλωση απηχεί το μέγεθος σε sentence.echo "What a μακρά μεταβλητή . Το μήκος της μεταβλητής μου είναι " + $ { # } MyVar + " " Η έξοδος θα μοιάζει με αυτό : . Τι μια μεγάλη μεταβλητή . Το μήκος της μεταβλητής μου είναι 7 .
Εικόνων Περιορισμοί μεγέθους
Η

Το λειτουργικό σύστημα και τον τύπο κελύφους επιβάλλουν ένα όριο για το μήκος του το όνομα της μεταβλητής . Τυπικά, το όνομα δεν πρέπει να είναι πάνω από 20 χαρακτήρες . Αυτή είναι μια καλή παραγραφή, διότι τυχόν μεγαλύτερα ονόματα θα επηρεάσουν την αναγνωσιμότητα του σεναρίου . Το κέλυφος περιορίζει επίσης το μήκος μιας λέξης στην αξία . Μια λέξη είναι μια σειρά από χαρακτήρες χωρίς κενά . Η τιμή μιας μεταβλητής μπορεί να είναι μια ομάδα λέξεων με κενά μεταξύ τους. Μια μεταβλητή μπορεί επίσης να κατέχουν μια σειρά .
Εικόνων Καλές Πρακτικές Προγραμματισμός
Η

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

Συναφής σύστασή

Πνευματικά δικαιώματα © Γνώση Υπολογιστών Όλα τα δικαιώματα κατοχυρωμένα