Τι είναι το σενάριο Bash;

What Is Bash Script



Έχετε ακούσει ποτέ τον πατέρα σας να σας λέει να πάρετε ένα ποτήρι νερό; Έχετε την επιλογή να πείτε Όχι, αλλά οι υπολογιστές δεν έχουν αυτήν την επιλογή. Οι υπολογιστές θα κάνουν ακριβώς αυτό που θα τους πείτε να κάνουν. Το Bash είναι απλά ένα κέλυφος που σας επιτρέπει να επικοινωνείτε με τον υπολογιστή και σας επιτρέπει να του δίνετε οδηγίες. Ένα σενάριο είναι βασικά μόνο ένα σύνολο οδηγιών που δίνονται στον υπολογιστή για την εκτέλεση διαφορετικών σημαντικών εργασιών. Ένα σενάριο σας βοηθά να αυτοματοποιήσετε διαφορετικές εργασίες μαζί με την πολυτέλεια για να επιτύχετε αποτελέσματα γρηγορότερα από την κανονική διαδικασία. Κανονικά, στο τερματικό, γράφετε μια βασική εντολή ή μια προηγμένη εντολή bash και εκτελείται σε αυτήν αμέσως. Σε δέσμες ενεργειών bash, θα μπορούσατε να δώσετε πολλές οδηγίες ή εντολές ταυτόχρονα και ο υπολογιστής θα τις εκτελούσε όλες μόνο όταν εκτελείτε το σενάριο. Με λίγα λόγια, μια εντολή bash μπορεί να εκτελεστεί στο τερματικό, αλλά για να εκτελέσετε συνδυασμό πολλαπλών εντολών ταυτόχρονα, πρέπει να δημιουργήσετε ένα σενάριο bash.

Γιατί το bash είναι χρήσιμο και για ποιον είναι χρήσιμο;

Εάν θέλετε περισσότερο έλεγχο του λειτουργικού σας συστήματος και θέλετε να εκτελείτε διαφορετικές εργασίες που σχετίζονται με το λειτουργικό σύστημα, τότε το bash είναι ο καλύτερος τρόπος να προχωρήσετε. Με bash, δεν αναφερόμαστε μόνο στη γλώσσα δέσμης ενεργειών, αλλά και στα εργαλεία που συνοδεύουν το λειτουργικό σύστημα Linux. Κάθε εργαλείο στο Linux έχει τη δουλειά του και το καθένα εκτελεί διαφορετική εργασία ξεχωριστά. Το Bash είναι πραγματικά χρήσιμο όποτε χρειάζεται να συνδυάσετε όλα αυτά τα εργαλεία και να τα συνδέσετε με τέτοιο τρόπο ώστε να λειτουργούν όλα αρμονικά για να επιτύχουν ένα έργο που είναι πραγματικά δύσκολο να γίνει διαφορετικά. Για παράδειγμα, οτιδήποτε έχει να κάνει με το λειτουργικό σύστημα Linux μπορεί επίσης να γίνει σε άλλες γλώσσες προγραμματισμού, όπως Python ή Perl, αλλά είναι πολύ δύσκολο να επιτευχθούν διαφορετικές εργασίες που σχετίζονται με το λειτουργικό σύστημα. Ένας απλός, ασπρόμαυρος και ευκολότερος τρόπος για να κάνετε οτιδήποτε αφορά το λειτουργικό σύστημα Linux είναι χρησιμοποιώντας το bash. Για όποιον θέλει να εκτελέσει εργασίες που περιλαμβάνουν εργαλεία Linux OS (όπως ls, cd, cat, touch, grep κ.λπ.), είναι πραγματικά χρήσιμο να μάθει bash αντί για οποιαδήποτε άλλη γλώσσα προγραμματισμού.







Πώς συγκρίνεται το Bash με άλλες γλώσσες προγραμματισμού;

Αν μιλάμε για bash τότε γνωρίζουμε ότι το bash δεν είναι μια γλώσσα προγραμματισμού γενικής χρήσης αλλά ένας διερμηνέας γραμμής εντολών. Το Bash είναι πραγματικά χρήσιμο για την εκτέλεση εργασιών γύρω από διαφορετικά εργαλεία και διαδικασίες με την ικανότητα να συνδυάζει διαφορετικές διαδικασίες μαζί και να κάνει όλες αυτές να λειτουργούν προς έναν μόνο στόχο. Το Bash είναι πολύ βολικό όταν πρόκειται για την αντιμετώπιση και τον χειρισμό των εισόδων και των εξόδων, κάτι που είναι πολύ δύσκολο να γίνει σε άλλες γλώσσες προγραμματισμού γενικής χρήσης, όπως python, C κλπ. Ωστόσο, όταν πρόκειται για δομές δεδομένων και πολύπλοκες εργασίες, όπως ως χειρισμός σύνθετων δεδομένων, το bash δεν μπορεί να χειριστεί τέτοιες εργασίες και πρέπει να κοιτάξουμε προς τις γλώσσες προγραμματισμού όπως Python, Perl, C κλπ. Στις γλώσσες προγραμματισμού, μπορείτε να δημιουργήσετε λογισμικό ή εργαλείο, αλλά δεν μπορείτε να δημιουργήσετε καμία από αυτές σε bash. Ωστόσο, μπορείτε να χρησιμοποιήσετε το bash για να εκτελέσετε τα εργαλεία ή να συγχωνεύσετε αυτά τα εργαλεία μαζί για αποτελεσματική εκτέλεση. Είναι σαν να χτίζεις έναν πύραυλο, αν σκεφτούμε αυτή τη μεταφορά, οι γλώσσες προγραμματισμού θα σε βοηθήσουν να φτιάξεις τον πύραυλο ενώ το bash θα σε βοηθήσει να οδηγήσεις τον πύραυλο και θα σε βοηθήσει να καθορίσεις την κατεύθυνσή του και θα σε βοηθήσει να το προσγειώσεις στο φεγγάρι ή τον Άρη.



Πώς να δημιουργήσετε και να εκτελέσετε σενάρια Bash;

Για να δημιουργήσετε ένα σενάριο bash, πρέπει πρώτα να δημιουργήσετε ένα αρχείο κειμένου με την επέκταση του .sh στο τέλος του ονόματος του αρχείου. Μπορείτε να δημιουργήσετε το αρχείο δέσμης ενεργειών bash χρησιμοποιώντας το τερματικό.



$αφήscript.sh


Αφού πληκτρολογήσετε την παραπάνω εντολή, πατήστε το πλήκτρο εισαγωγής και θα δημιουργήσετε ένα αρχείο δέσμης ενεργειών bash στον τρέχοντα κατάλογο εργασίας σας. Αλλά δεν είναι αυτό, έχουμε δημιουργήσει το αρχείο δέσμης ενεργειών, αλλά πρέπει να εκτελέσουμε ορισμένες ενέργειες για να ολοκληρώσουμε το σενάριο και να το τρέξουμε. Πρώτα απ 'όλα, ανοίξτε το αρχείο δέσμης ενεργειών σε έναν επεξεργαστή nano ή gedit και στην πρώτη γραμμή πληκτρολογήστε:





#!/bin/bash


Αυτή είναι μια τυπική πρώτη γραμμή για κάθε αρχείο δέσμης ενεργειών δέσμης ενεργειών που το βοηθά να αναγνωριστεί ως σενάριο bash. Οποιοδήποτε σενάριο που δεν έχει #!/Bin/bash στην πρώτη γραμμή δεν θα θεωρείται σενάριο bash, οπότε φροντίστε να προσθέσετε αυτήν τη γραμμή στην κορυφή κάθε σεναρίου. Μόλις προσθέσετε αυτήν τη γραμμή, τώρα μπορείτε να αρχίσετε να γράφετε στο σενάριο. Για παράδειγμα, θα έγραφα εδώ μια απλή εντολή echo:

$πέταξε έξωΑυτή είναι η LinuxHint, η καλύτερη πλατφόρμα εκμάθησηςΓιαΚτυπώ δυνατά


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



$ls -στο


Μπορείτε να δείτε το «script.sh» γραμμένο σε λευκό χρώμα, το οποίο αποτελεί ένδειξη ότι το σενάριο είναι μη εκτελέσιμο αρχείο καθώς τα εκτελέσιμα αρχεία είναι συνήθως σε πράσινο χρώμα. Περαιτέρω, ρίξτε μια ματιά στην αριστερή πλευρά όπου θα μπορούσαμε να δούμε ένα μοτίβο όπως -rw -r – r– που αντικατοπτρίζει ότι το αρχείο είναι μόνο αναγνώσιμο και εγγράψιμο.
Το πρώτο μέρος που περιέχει «rw» είναι τα δικαιώματα για τον κάτοχο πιθανότατα τον τρέχοντα χρήστη.

Το 2ο μέρος που περιέχει το «r» είναι η άδεια για την ομάδα στην οποία έχουμε πολλούς χρήστες.

Ενώ το 3ο μέρος που περιέχει το «r» είναι άδεια για το κοινό, πράγμα που σημαίνει ότι ο καθένας μπορεί να έχει αυτά τα δικαιώματα για το αναφερόμενο αρχείο.

Το ‘r’ σημαίνει δικαιώματα ανάγνωσης, το ‘w’ σημαίνει δικαιώματα εγγραφής, το ‘x’ σημαίνει εκτελέσιμα δικαιώματα. Σαφώς, δεν βλέπουμε το x έναντι του «script.sh». Για να προσθέσετε εκτελέσιμα δικαιώματα, υπάρχουν δύο τρόποι για να το κάνετε.

Μέθοδος 1

Σε αυτήν τη μέθοδο, μπορείτε να γράψετε μια απλή εντολή chmod με ‘+x’ και θα προσθέσει τα εκτελέσιμα δικαιώματα.

$chmod+ x script.sh


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

Μέθοδος 2

Σε αυτήν τη μέθοδο, μπορείτε να χρησιμοποιήσετε αριθμούς για να υπαγορεύσετε τα δικαιώματα ενός αρχείου. Πριν προχωρήσουμε σε αυτό, θα ήθελα να σας δώσω μια σύντομη ιδέα για το τι σημαίνουν αυτοί οι αριθμοί και πώς μπορείτε να τους χρησιμοποιήσετε για να χειριστείτε δικαιώματα.
διαβάζω = 4
γράφω = 2
εκτέλεση = 1
Οι αριθμοί άδειας θα είναι σε τρία ψηφία μετά την εντολή chmod και κάθε ψηφίο αντιπροσωπεύει τα δικαιώματα του κατόχου, της ομάδας και άλλων (δημόσιων). Για παράδειγμα, η παροχή δικαιωμάτων ανάγνωσης, εγγραφής και εκτέλεσης στον κάτοχο και δικαιωμάτων ανάγνωσης στην ομάδα και σε άλλους θα ήταν κάτι σαν αυτό:

$chmod 744script.sh


Αν μπορούσατε να το παρατηρήσετε, τότε θα καταλάβατε ότι προσθέσαμε αριθμούς ανάγνωσης, εγγραφής και εκτέλεσης για τον κάτοχο στο πρώτο ψηφίο ως 4+2+1 = 7, και για την ομάδα και άλλους χρησιμοποιούμε το ψηφίο της ανάγνωσης δηλαδή 4.

Εκτέλεση σεναρίου Bash

Τώρα επιτέλους έχουμε φτάσει σε ένα σημείο όπου μπορούμε να τρέξουμε το σενάριο bash. Για να εκτελέσετε το σενάριο bash, πρέπει να βεβαιωθείτε ότι βρίσκεστε στον τρέχοντα κατάλογο εργασίας στον οποίο βρίσκεται το σενάριό σας. Δεν είναι υποχρεωτικό αλλά με αυτόν τον τρόπο είναι εύκολο καθώς δεν χρειάζεται να γράψετε ολόκληρη τη διαδρομή. Μόλις το κάνετε, προχωρήστε και γράψτε στο τερματικό σας ./nameofscript.sh. Στην περίπτωσή μας, το όνομα του σεναρίου είναι 'script.sh', οπότε θα γράφαμε:

$Το/script.sh

3 απλά παραδείγματα σεναρίου Bash

Γεια LinuxHint
Πρώτα απ 'όλα, θα δημιουργήσουμε ένα αρχείο bash στον παρόντα κατάλογο εργασίας:

$νανοF_script.sh


Μέσα στο αρχείο πρέπει να γράψετε τα εξής:

#!/bin/bash
πέταξε έξω 'Γεια LinuxHint'


Μόλις το γράψετε, προσπαθήστε τώρα να πατήσετε Ctrl+O για να γράψετε αλλαγές αρχείων, αν θέλετε να διατηρήσετε το όνομα στο ίδιο χτύπημα enter, αλλιώς επεξεργαστείτε το όνομα και, στη συνέχεια, πατήστε enter. Τώρα πατήστε Ctrl+X για έξοδο από το πρόγραμμα επεξεργασίας nano. Τώρα θα δείτε ένα αρχείο με το όνομα F_script.sh στον τρέχοντα κατάλογό σας.
Για να εκτελέσετε αυτό το αρχείο, μπορείτε να αλλάξετε τα δικαιώματά του για να το κάνετε εκτελέσιμο ή μπορείτε να γράψετε:

$κτυπώ δυνατάF_script.sh


Echo Command
Όταν μιλάμε για την εντολή echo, χρησιμοποιείται απλά για να εκτυπώσετε σχεδόν όλα όσα θέλετε να εκτυπώσετε, αρκεί να είναι γραμμένα μέσα στα εισαγωγικά. Κανονικά όταν εκτελείτε μια εντολή echo χωρίς καμία σημαία αφήνει μια γραμμή και στη συνέχεια εκτυπώνει την έξοδο. Για παράδειγμα, εάν έχουμε ένα σενάριο:

#!/bin/bash
πέταξε έξω 'Εκτύπωση στην επόμενη γραμμή'

Αφού αποθηκευτεί, αν το εκτελέσουμε:

$κτυπώ δυνατάF_script.sh


Αν χρησιμοποιήσουμε τη σημαία ‘-n’ με ηχώ τότε εκτυπώνεται στην ίδια γραμμή.

#!/bin/bash
πέταξε έξω 'Εκτύπωση στην ίδια γραμμή'

Αφού αποθηκευτεί, αν το εκτελέσουμε:

$κτυπώ δυνατάF_script.sh


Παρομοίως, αν χρησιμοποιήσουμε ‘ n’ ή ‘ t’ μέσα στα διπλά εισαγωγικά, θα εκτυπώνονται ως έχουν.

#!/bin/bash
πέταξε έξω ' nΕκτύπωση σε tτην ίδια γραμμή n'


Ωστόσο, αν χρησιμοποιήσουμε τη σημαία ‘-e’, τότε όλα όχι μόνο εξαφανίζονται, αλλά εφαρμόζονται επίσης τα n και t και μπορείτε να δείτε τις αλλαγές στην έξοδο παρακάτω:

#!/bin/bash
πέταξε έξω -Και ' nΕκτύπωση σε tτην ίδια γραμμή n'


Σχόλια στο BASH
Ένα σχόλιο είναι μια γραμμή που δεν έχει σημασία για τον υπολογιστή. Ό, τι γράφετε ως σχόλιο ακυρώνεται ή αγνοείται από τον υπολογιστή και δεν επηρεάζει καθόλου τον γραπτό κώδικα. Τα σχόλια θεωρούνται συνήθως περισσότερο ένας χρήσιμος τρόπος για να κατανοήσει ένας προγραμματιστής τη λογική του κώδικα, ώστε όταν επιστρέψει να ξαναδουλέψει τα κομμάτια του κώδικα, αυτά τα σχόλια να του θυμίσουν τη λογική και τους λόγους για τους οποίους έχει γράψει κώδικα σε ένα συγκεκριμένο τρόπος. Τα σχόλια μπορούν επίσης να χρησιμοποιηθούν από άλλους προγραμματιστές που μπορεί να θέλουν να κάνουν αλλαγές στον κώδικα. Εάν έχετε γράψει ένα κομμάτι κώδικα και δεν θέλετε να το αφαιρέσετε αλλά θέλετε να δείτε την έξοδο χωρίς το συγκεκριμένο κομμάτι κώδικα, τότε μπορείτε να σχολιάσετε το συγκεκριμένο κομμάτι κώδικα και να προχωρήσετε και να εκτελέσετε. Το πρόγραμμά σας θα τρέξει μια χαρά, θα είχε καλά αποτελέσματα ενώ αυτός ο επιπλέον κώδικας εξακολουθεί να υπάρχει στο σενάριό σας, αλλά δεν είναι αποτελεσματικός λόγω σχολίων. Κάθε φορά που θέλετε να χρησιμοποιήσετε ξανά αυτό το κομμάτι κώδικα, προχωρήστε και μην σχολιάσετε αυτές τις γραμμές και είστε έτοιμοι.
Υπάρχουν δύο τρόποι με τους οποίους μπορείτε να γράψετε σχόλια σε bash. ο ένας τρόπος είναι να γράψετε σχόλια μιας γραμμής ενώ ο άλλος τρόπος για να γράψετε σχόλια πολλών γραμμών.

Σχόλια μιας γραμμής
Στα σχόλια μιας γραμμής, χρησιμοποιούμε ένα σύμβολο '#' που βοηθά να σχολιάσουμε ολόκληρη τη γραμμή. Οτιδήποτε γράφεται στη γραμμή που ακολουθείται από '#' θα θεωρείται ως σχόλιο και δεν θα έχει καμία πραγματική αξία όταν εκτελούμε το σενάριο. Αυτό το σχόλιο μιας γραμμής μπορεί να χρησιμοποιηθεί για να επικοινωνήσει τη λογική και την κατανόηση του κώδικα σε κάποιον που έχει πρόσβαση στον κώδικα.

#!/bin/bash
πέταξε έξω -Και ' nΕκτύπωση σε tτην ίδια γραμμή n'
#Αυτό το σενάριο μας βοηθά να εφαρμόσουμε τον /συνδυασμό /n και /t



Σχόλια πολλαπλών γραμμών
Ας υποθέσουμε ότι θέλετε να σχολιάσετε εκατό γραμμές στο σενάριό σας. Σε αυτή την περίπτωση, θα ήταν δύσκολο για εσάς να χρησιμοποιήσετε σχόλια μιας γραμμής. Δεν θέλετε να σπαταλάτε το χρόνο σας βάζοντας # σε κάθε γραμμή. Μπορούμε να χρησιμοποιήσουμε το «:» και στη συνέχεια το «όποιο σχόλιο». Θα σας βοηθήσει να σχολιάσετε πολλές γραμμές πληκτρολογώντας μόνο 3 σύμβολα που είναι εύχρηστα και χρήσιμα.

#!/bin/bash '
: «Αυτό είναι το σενάριο που βεβαιώνεται
που n και t λειτουργεί και εφαρμόζεται
σεέναν τρόπο που έχουμε την απαιτούμενη παραγωγή »
πέταξε έξω -Και ' nΕκτύπωση σε tτην ίδια γραμμή n'



Ρίξτε μια ματιά σε 30 Παραδείγματα σεναρίων Bash στο Linuxhint.com:

30 Παραδείγματα σεναρίου Bash

6 Σημαντικότερα μαθήματα στη γραφή Bash

1. Δήλωση υπό όρους
Η δήλωση υπό όρους είναι ένα πολύ χρήσιμο εργαλείο στη λήψη αποφάσεων. Χρησιμοποιείται ευρέως σε γλώσσες προγραμματισμού. Πιο συχνά, πρέπει να λαμβάνουμε αποφάσεις με βάση ορισμένες προϋποθέσεις. Η δήλωση υπό όρους αξιολογεί τη δεδομένη συνθήκη και λαμβάνει την απόφαση. Στο bash, χρησιμοποιούμε επίσης τη δήλωση υπό όρους όπως κάθε άλλη γλώσσα προγραμματισμού. Η σύνταξη της χρήσης της κατάστασης υπό όρους στο bash είναι λίγο διαφορετική από τις άλλες γλώσσες προγραμματισμού. Η συνθήκη if είναι η πιο συχνά χρησιμοποιούμενη δήλωση υπό όρους σε bash και άλλες γλώσσες προγραμματισμού γενικής χρήσης. Η συνθήκη if αξιολογεί τη δεδομένη συνθήκη και λαμβάνει την απόφαση. Η δεδομένη συνθήκη ονομάζεται επίσης δοκιμαστική έκφραση. Υπάρχουν πολλοί τρόποι χρήσης της συνθήκης if στο bash. Η συνθήκη if χρησιμοποιείται με το μπλοκ else. Σε περίπτωση που η δεδομένη συνθήκη είναι αληθής, τότε εκτελούνται οι δηλώσεις μέσα στο μπλοκ if, διαφορετικά εκτελείται το μπλοκ else. Υπάρχουν πολλοί τρόποι χρήσης της δήλωσης if condition στο Bash οι οποίοι είναι οι ακόλουθοι:

  1. Η δήλωση if
  2. Η δήλωση if else
  3. Η ένθετη αν δήλωση
  4. Η δήλωση if elif

Η δήλωση if
Η δήλωση if αξιολογεί μόνο τη δεδομένη συνθήκη, εάν η δεδομένη συνθήκη είναι αληθής, τότε εκτελούνται οι δηλώσεις ή οι εντολές μέσα στο μπλοκ if, διαφορετικά το πρόγραμμα τερματίζεται. Στο bash, εάν η συνθήκη ξεκινά με τη λέξη -κλειδί if και τελειώνει με τη λέξη -κλειδί fi. Η τότε λέξη -κλειδί χρησιμοποιείται για τον ορισμό του μπλοκ προτάσεων ή εντολών που εκτελούνται όταν μια συγκεκριμένη συνθήκη είναι αληθής. Ας δηλώσουμε μια μεταβλητή και χρησιμοποιήστε την συνθήκη if για να αξιολογήσουμε την τιμή της μεταβλητής αν είναι μεγαλύτερη από 10 ή όχι. Το -gt χρησιμοποιείται για την αξιολόγηση της μεγαλύτερης από την κατάσταση, ενώ η -lt χρησιμοποιείται για την αξιολόγηση της κατάστασης μικρότερης από.

#!/bin/bash
ΟΠΟΥ=100
#δήλωση της συνθήκης if
αν [ $ VAR -γτ 10 ]
τότε
πέταξε έξω $ VARείναι μεγαλύτερο από 10 '
#λήξη της συνθήκης if
είναι


Η δήλωση if else
Η δήλωση if else χρησιμοποιείται επίσης ως δήλωση υπό όρους. Οι δηλώσεις ή οι εντολές μετά την συνθήκη if εκτελείται εάν η δεδομένη συνθήκη είναι αληθής. Διαφορετικά, το μπλοκ else εκτελείται εάν η δεδομένη συνθήκη δεν είναι αληθής. Το μπλοκ else ακολουθείται από το μπλοκ if και ξεκινά με τη λέξη -κλειδί else.

#!/bin/bash
ΟΠΟΥ=7
#δήλωση της συνθήκης if
αν [ $ VAR -γτ 10 ]
τότε
πέταξε έξω $ VARείναι μεγαλύτερο από 10 '
#Declaring else block
αλλού
πέταξε έξω $ VARείναι λιγότερο από 10 '
#λήξη της συνθήκης if
είναι


Πολλαπλές συνθήκες μπορούν να αξιολογηθούν χρησιμοποιώντας τη συνθήκη if. Μπορούμε να χρησιμοποιήσουμε τον τελεστή και (και) και ή τον τελεστή (II) για να αξιολογήσουμε τις πολλαπλές συνθήκες μέσα σε μια πρόταση if.

#!/bin/bash
ΟΠΟΥ=είκοσι
#δήλωση της συνθήκης if
αν [[ $ VAR -γτ 10 && $ VAR -lt 100 ]]
τότε
πέταξε έξω $ VARείναι μεγαλύτερο από 10 και μικρότερο από 100 '
#Declaring else block
αλλού
πέταξε έξω «Η προϋπόθεση δεν πληροί»
#λήξη της συνθήκης if
είναι


Η ένθετη αν δήλωση
Στην ένθετη αν πρόταση, έχουμε μια δήλωση if μέσα σε μια αν. Η πρώτη αν η δήλωση αξιολογείται, αν είναι αληθινή τότε η άλλη αν η δήλωση αξιολογείται.

#!/bin/bash
ΟΠΟΥ=είκοσι
#δήλωση της συνθήκης if
αν [[ $ VAR -γτ 10 ]]
τότε
#εάν συνθήκη μέσα σε άλλη αν συνείδηση
αν [ $ VAR -lt 100 ]
τότε
πέταξε έξω $ VARείναι μεγαλύτερο από 10 και μικρότερο από 100 '
#Declaring else block
αλλού
πέταξε έξω «Η προϋπόθεση δεν πληροί»
#λήξη της συνθήκης if
είναι
αλλού
πέταξε έξω $ VARείναι λιγότερο από 10 '
είναι


Η δήλωση if elif
Η δήλωση if elif χρησιμοποιείται για την αξιολόγηση πολλαπλών συνθηκών. Η πρώτη συνθήκη ξεκινά με το μπλοκ if και τις άλλες συνθήκες ακολουθεί η λέξη -κλειδί elif. Ας εξετάσουμε το προηγούμενο παράδειγμα μεταβλητών αριθμών και εφαρμόστε την πρόταση if elif στο σενάριο bash μας. Το eq χρησιμοποιείται ως ίσος τελεστής.

#!/bin/bash
ΟΠΟΥ=είκοσι
#δήλωση της συνθήκης if
αν [[ $ VAR -ισοδύναμο 1 ]]
τότε
πέταξε έξω 'Η τιμή της μεταβλητής είναι ίση με 1'
elif [[ $ VAR -ισοδύναμο 2 ]]
τότε
πέταξε έξω 'Η τιμή της μεταβλητής είναι ίση με 2'
elif [[ $ VAR -ισοδύναμο 3 ]]
τότε
πέταξε έξω 'Η τιμή της μεταβλητής είναι ίση με 2'
elif [[ $ VAR -γτ 5 ]]
τότε
πέταξε έξω 'Η τιμή της μεταβλητής είναι μεγαλύτερη από 5'
είναι


2. Looping
Οι βρόχοι είναι το ουσιαστικό και θεμελιώδες μέρος κάθε γλώσσας προγραμματισμού. Σε αντίθεση με τις άλλες γλώσσες προγραμματισμού, οι βρόχοι χρησιμοποιούνται επίσης στο Bash για την εκτέλεση μιας εργασίας επανειλημμένα έως ότου η δεδομένη συνθήκη είναι αληθής. Οι βρόχοι είναι επαναληπτικοί, είναι ένα εξαιρετικό εργαλείο για αυτοματοποίηση παρόμοιων τύπων εργασιών. Ο βρόχος for, ενώ ο βρόχος, και μέχρι ο βρόχος χρησιμοποιείται στο Bash.
Ας συζητήσουμε αυτούς τους βρόχους έναν έναν.

Ο βρόχος while
Ο βρόχος while εκτελεί τις ίδιες δηλώσεις ή εντολές επανειλημμένα. Αξιολογεί την κατάσταση και εκτελεί τις δηλώσεις ή τις εντολές έως ότου η συνθήκη είναι αληθής.
Αυτή είναι η βασική σύνταξη της χρήσης ενός βρόχου while στο Bash.

Ενώ [συνθήκη ή έκφραση δοκιμής]
κάνω
δηλώσεις
Έγινε

Ας εφαρμόσουμε τον βρόχο while στο αρχείο script.sh. Έχουμε μια μεταβλητή VAR της οποίας η τιμή είναι ίση με μηδέν. Στον βρόχο while, έχουμε θέσει μια προϋπόθεση, ότι ο βρόχος πρέπει να τρέχει έως ότου η τιμή του VAR είναι μικρότερη από 20. Η τιμή της μεταβλητής αυξάνεται κατά 1 μετά από κάθε επανάληψη. Έτσι, σε αυτήν την περίπτωση, ο βρόχος θα αρχίσει να εκτελείται έως ότου η τιμή της μεταβλητής είναι μικρότερη από 20.

#!/bin/bash
ΟΠΟΥ=0
ενώ [ $ VAR -lt είκοσι ]
κάνω
πέταξε έξω «Η τρέχουσα τιμή της μεταβλητής είναι$ VAR'
#αύξηση της τιμής κατά 1 σε VAR
ΟΠΟΥ= $((VAR +1))
Έγινε


Ο βρόχος for
Ο βρόχος for είναι ο πιο συχνά χρησιμοποιούμενος βρόχος σε κάθε γλώσσα προγραμματισμού. Χρησιμοποιείται για την εκτέλεση της επαναληπτικής εργασίας. Είναι ο καλύτερος τρόπος για να εκτελέσετε επαναλαμβανόμενες εργασίες. Ας δηλώσουμε τον βρόχο for στο αρχείο script.sh και τον χρησιμοποιούμε για την εκτέλεση μιας επαναλαμβανόμενης εργασίας.

#!/bin/bash
ΟΠΟΥ=0
Για (( Εγώ==0? Εγώ<είκοσι? εγώ ++))
κάνω
πέταξε έξω 'Γεια σας και καλώς ήρθατε στο linuxhint'
#επαύξηση της μεταβλητής i
Εγώ= $((i+1))
Έγινε
πέταξε έξω 'Αυτό είναι το τέλος του βρόχου'


Ο βρόχος μέχρι
Ο άλλος τύπος βρόχου που χρησιμοποιείται στο Bash είναι μέχρι βρόχου. Εκτελεί επίσης ή εκτελεί το ίδιο σύνολο επανειλημμένα. Ο βρόχος μέχρι να αξιολογήσει την κατάσταση και να ξεκινήσει την εκτέλεση έως ότου η δεδομένη συνθήκη είναι ψευδής. Ο βρόχος μέχρι τερματίζεται όταν η δεδομένη συνθήκη είναι αληθής. Η σύνταξη του βρόχου μέχρι είναι η ακόλουθη:

μέχρι [προϋπόθεση]
κάνω
δηλώσεις
εντολές
Έγινε

Ας εφαρμόσουμε τον βρόχο μέχρι στο αρχείο script.sh. Ο βρόχος μέχρι θα εκτελεστεί εκτός εάν η συνθήκη είναι ψευδής (Η τιμή της μεταβλητής είναι μικρότερη από 20)

#!/bin/bash
ΟΠΟΥ=0
μέχρι [ $ VAR -γτ είκοσι ]
κάνω
πέταξε έξω 'Γεια σας και καλώς ήρθατε στο linuxhint'
#επαύξηση της μεταβλητής i
ΟΠΟΥ= $((VAR +1))
Έγινε
πέταξε έξω 'Αυτό είναι το τέλος του μέχρι βρόχου'


3. Ανάγνωση από τον χρήστη και εγγραφή του στην οθόνη
Το Bash δίνει την ελευθερία στον χρήστη να εισαγάγει κάποια τιμή συμβολοσειράς ή δεδομένα στο τερματικό. Ο χρήστης εισήγαγε συμβολοσειρά ή δεδομένα μπορούν να διαβαστούν από το τερματικό, μπορούν να αποθηκευτούν στο αρχείο και μπορούν να εκτυπωθούν στο τερματικό. Στο αρχείο Bash, η είσοδος από τον χρήστη μπορεί να διαβαστεί χρησιμοποιώντας το ανάγνωση λέξη -κλειδί και την αποθηκεύουμε σε μια μεταβλητή. Το μεταβλητό περιεχόμενο μπορεί να εμφανιστεί στο τερματικό χρησιμοποιώντας την εντολή echo.

#!/bin/bash
πέταξε έξω 'Γράψτε κάτι στο τερματικό'
#αποθήκευση της καταχωρισμένης τιμής στο VAR
ανάγνωσηΟΠΟΥ
πέταξε έξω 'Μπήκες:$ VAR'


Πολλές επιλογές μπορούν να χρησιμοποιηθούν με την εντολή ανάγνωσης. Οι πιο συχνά χρησιμοποιούμενες επιλογές είναι -p και -s. Το -p εμφανίζει την προτροπή και η είσοδος μπορεί να ληφθεί στην ίδια γραμμή. Το –s παίρνει την είσοδο σε αθόρυβη λειτουργία. Οι χαρακτήρες της εισόδου εμφανίζονται στο τερματικό. Είναι χρήσιμο να εισαγάγετε κάποιες ευαίσθητες πληροφορίες, δηλαδή κωδικούς πρόσβασης.

#!/bin/bash
ανάγνωση 'Εισάγετε ηλεκτρονική διεύθυνση:'ΗΛΕΚΤΡΟΝΙΚΗ ΔΙΕΥΘΥΝΣΗ
πέταξε έξω 'Εισάγετε τον κωδικό πρόσβασης'
ανάγνωση -μικρόΚωδικός πρόσβασης


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

Σύνταξη αρχείων κειμένου
Τα δεδομένα μπορούν να γραφτούν σε ένα αρχείο με διάφορους τρόπους:

  • Χρησιμοποιώντας τη στήριξη ορθής γωνίας ή το σύμβολο μεγαλύτερο από το (>)
  • Χρησιμοποιώντας το διπλό βραχίονα δεξιάς γωνίας (>>)
  • Χρησιμοποιώντας την εντολή tee

Σημάδι στήριξης δεξιού αγγέλου (>) για εγγραφή δεδομένων
είναι ο πιο συχνά χρησιμοποιούμενος τρόπος για να γράψετε τα δεδομένα στο αρχείο κειμένου. Γράφουμε τα δεδομένα και μετά βάζουμε το σύμβολο>. Το σύμβολο> δείχνει το αρχείο κειμένου όπου πρέπει να αποθηκεύσουμε τα δεδομένα. Ωστόσο, δεν προσαρτά το αρχείο και τα προηγούμενα δεδομένα του αρχείου αντικαθίστανται πλήρως από τα νέα δεδομένα.

#!/bin/bash
#χρήστης εισάγει το όνομα αρχείου κειμένου
ανάγνωση 'Εισαγάγετε όνομα αρχείου:'ΑΡΧΕΙΟ
#χρήστης εισάγει τα δεδομένα για αποθήκευση στο αρχείο κειμένου
ανάγνωση 'Γράψτε δεδομένα για εισαγωγή στο αρχείο:'ΔΕΔΟΜΕΝΑ
#αποθήκευση δεδομένων στο αρχείο κειμένου
#> δείχνει το όνομα του αρχείου.
πέταξε έξω $ ΔΕΔΟΜΕΝΑ >> $ FILE


Σημάδι στήριξης δεξιού αγγέλου (>>) για εγγραφή δεδομένων
Το >> χρησιμοποιείται για την αποθήκευση της εξόδου οποιασδήποτε εντολής στο αρχείο. Για παράδειγμα, η εντολή ls -al δείχνει το περιεχόμενο και τα δικαιώματα ενός αρχείου σε έναν συγκεκριμένο κατάλογο. Το >> θα αποθηκεύσει την έξοδο στο αρχείο.

#!/bin/bash
#χρήστης εισάγει το όνομα αρχείου κειμένου
ανάγνωση 'Εισαγάγετε όνομα αρχείου:'ΑΡΧΕΙΟ
#αποθήκευση της εξόδου εντολών στο αρχείο
ls -στο >> $ FILE



Χρησιμοποιώντας την εντολή tee για να γράψετε δεδομένα στο αρχείο κειμένου
Η εντολή tee στο Bash χρησιμοποιείται για να γράψει την έξοδο της εντολής σε ένα αρχείο κειμένου. Εκτυπώνει την έξοδο της εντολής στο τερματικό και την αποθηκεύει στο αρχείο κειμένου.

#!/bin/bash
#χρήστης εισάγει το όνομα αρχείου κειμένου
ανάγνωση 'Εισαγάγετε όνομα αρχείου:'ΑΡΧΕΙΟ
#αποθήκευση της εξόδου εντολών στο αρχείο χρησιμοποιώντας την εντολή tee
ls -στο | στόχος $ FILE


Η εντολή tee αντικαθιστά τα υπάρχοντα δεδομένα του αρχείου από προεπιλογή. Ωστόσο, η επιλογή -a με την εντολή tee μπορεί να χρησιμοποιηθεί για να προσθέσει το αρχείο.

#!/bin/bash
#χρήστης εισάγει το όνομα αρχείου κειμένου
ανάγνωση 'Εισαγάγετε όνομα αρχείου:'ΑΡΧΕΙΟ
#αποθήκευση της εξόδου εντολών στο αρχείο χρησιμοποιώντας την εντολή tee
ls -στο | στόχος -προς το $ FILE


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

#!/bin/bash
#χρήστης εισάγει το όνομα αρχείου κειμένου
ανάγνωση 'Εισαγάγετε όνομα αρχείου:'ΑΡΧΕΙΟ
#ανάγνωση των δεδομένων από το αρχείο κειμένου
Γάτα $ FILE


5. Εκτέλεση άλλων προγραμμάτων από το bash
Το Bash δίνει την εξουσία να εκτελεί άλλα προγράμματα από το σενάριο Bash. Χρησιμοποιούμε την εντολή exec για να τρέξουμε τα άλλα προγράμματα από το Bash. Η εντολή exec αντικαθιστά την προηγούμενη διαδικασία με την τρέχουσα διαδικασία και ξεκινά το τρέχον πρόγραμμα. Για παράδειγμα, μπορούμε να ανοίξουμε τον επεξεργαστή nano, gedit ή vim από το σενάριο bash.

#!/bin/bash
#running nano editor από το Bash
εκτελ νανο

#!/bin/bash
#running gedit από το Bash
εκτελgedit

Ομοίως, μπορούμε να εκτελέσουμε την εφαρμογή περιήγησης από το Bash επίσης. Ας τρέξουμε το πρόγραμμα περιήγησης Mozilla Firefox.

#!/bin/bash
#running firefox
εκτελfirefox


Επιπλέον, μπορούμε να τρέξουμε οποιοδήποτε πρόγραμμα από το Bash χρησιμοποιώντας την εντολή exec.

6. Επεξεργασία γραμμής εντολών
Η επεξεργασία της γραμμής εντολών αναφέρεται στην επεξεργασία των δεδομένων που έχουν εισαχθεί στο τερματικό. Τα δεδομένα της γραμμής εντολών υποβάλλονται σε επεξεργασία για πολλούς σκοπούς, δηλαδή ανάγνωση εισόδου χρήστη, υποεκτίμηση των εντολών και ανάγνωση των επιχειρημάτων. Προηγουμένως, έχουμε συζητήσει την εντολή ανάγνωσης. Η εντολή ανάγνωσης χρησιμοποιείται επίσης για επεξεργασία γραμμής εντολών. Σε αυτήν την ενότητα, θα συζητήσουμε την επεξεργασία των ορισμάτων της γραμμής εντολών. Στο Bash, μπορούμε να επεξεργαστούμε τα ορίσματα που έχουν περάσει ή είναι γραμμένα στο τερματικό. Τα επιχειρήματα επεξεργάζονται με τον ίδιο τρόπο όπως μεταδίδονται. Επομένως, ονομάζεται παράμετροι θέσης. Σε αντίθεση με άλλες γλώσσες προγραμματισμού, η ευρετηρίαση των ορισμάτων στο Bash ξεκινά με το 1. Το σύμβολο του δολαρίου ($) χρησιμοποιείται για την ανάγνωση των επιχειρημάτων. Για παράδειγμα, το $ 1 διαβάζει το πρώτο όρισμα, το $ 2 διαβάζει το δεύτερο όρισμα και ούτω καθεξής. Τα ορίσματα μπορούν να αναλυθούν για διάφορους λόγους, όπως για τη λήψη δεδομένων από τον χρήστη.

#!/bin/bash
πέταξε έξω 'Εισάγετε το όνομά σας'
#επεξεργασία του πρώτου ορίσματος
πέταξε έξω 'Ονομα:' $ 1
#επεξεργασία του δεύτερου ορίσματος
πέταξε έξω 'Μεσαίο όνομα:'$ 2
#επεξεργασία του τρίτου ορίσματος
πέταξε έξω 'Επίθετο:' 3 $
πέταξε έξω 'Πλήρες όνομα:' $ 1 $ 2 3 $


Η ανάγνωση των δεδομένων από το τερματικό χρησιμοποιώντας την ανάγνωση και η ανάλυση των ορισμάτων είναι τα καταλληλότερα παραδείγματα επεξεργασίας της γραμμής εντολών.

Ιστορία του Bash και σύγκριση με άλλα κελύφη

Το Bash είναι πλέον το βασικό συστατικό των συστημάτων που βασίζονται σε UNIX και Linux. Το Shell Bourne αναπτύχθηκε αρχικά από τον Stephen Bourne. Ο σκοπός του κελύφους Stephen Bourne ήταν να ξεπεράσει τους περιορισμούς των ήδη υπαρχόντων κελυφών εκείνη την εποχή. Πριν από το Bourne Shell, το UNIX παρουσίασε το Thompson Shell. Ωστόσο, το κέλυφος Thompson ήταν πολύ περιορισμένο στην επεξεργασία του σεναρίου. Οι χρήστες δεν μπόρεσαν να εκτελέσουν επαρκή ποσότητα σεναρίου. Για να ξεπεραστούν όλοι αυτοί οι περιορισμοί του κελύφους Thompson, παρουσιάστηκε το Bourne Shell. Αναπτύχθηκε στο Bells Lab. Το 1989, ο Brian Fox έφερε επανάσταση στο κέλυφος του Bourne προσθέτοντας πολλά άλλα χαρακτηριστικά και το ονόμασε Bourne Again Shell (BASH).

Όνομα κελύφους Ετος Πλατφόρμα Περιγραφή Σύγκριση με το BASH
Thompson Shell 1971 UNIX Η αυτοματοποίηση του σεναρίου ήταν περιορισμένη. Ο χρήστης μπορεί να κάνει μόνο μια μικρή ποσότητα δέσμης ενεργειών. Το BASH ξεπερνά τους περιορισμούς του κελύφους Thompson και ο χρήστης μπορεί να γράψει τα μεγάλα σενάρια.
Bourne Shell 1977 UNIX Μας επιτρέπει να γράφουμε και να τρέχουμε ένα τεράστιο αριθμό σεναρίων. Το Bourne Shell δεν παρέχει τον επεξεργαστή εντολών και μεγαλύτερο αριθμό συντομεύσεων. Το BASH παρέχει βελτιώσεις στο σχεδιασμό μαζί με τον επεξεργαστή εντολών.
POSIX Shell 1992 POSIX Το κέλυφος POSIX είναι φορητό. Παρέχει πολλές συντομεύσεις και έλεγχο εργασιών. Το BASH είναι δημοφιλές για την εκτέλεση εργασιών που δεν απαιτούν φορητότητα.
Z Shell 1990 UNIX Το Z Shell είναι πλούσιο σε χαρακτηριστικά. Είναι ένα πολύ ισχυρό κέλυφος και παρέχει δυνατότητες όπως αυτόματη συμπλήρωση εντολών, ορθογραφική διόρθωση και αυτόματη συμπλήρωση. Το BASH στερείται ορισμένων από τις δυνατότητες που παρέχονται από το Z Shell.

συμπέρασμα

Το BASH είναι ένα πολύ ισχυρό εργαλείο που μας επιτρέπει να τρέχουμε εντολές και σενάρια. Ένα σενάριο BASH μας επιτρέπει να αυτοματοποιούμε τις καθημερινές εργασίες και εντολές. Ένα σενάριο BASH είναι ένας συνδυασμός πολλαπλών εντολών. Το αρχείο BASH τελειώνει με την επέκταση .sh. Πριν από την εκτέλεση του σεναρίου BASH, πρέπει να ενημερώσουμε τα δικαιώματα αρχείου και πρέπει να παρέχουμε την εκτελέσιμη άδεια στο αρχείο .sh. Αυτό το άρθρο εξηγεί τη δέσμη ενεργειών BASH και BASH με τη βοήθεια απλών παραδειγμάτων και σημαντικών μαθημάτων. Επιπλέον, περιγράφει την ιστορία του BASH και συγκρίνει τα χαρακτηριστικά του με διάφορα άλλα ισχυρά κελύφη.