Διαχείριση του ubuntu μέσω ενός σεναρίου στα windows. Εκτελέστε ένα σενάριο κατά την εκκίνηση ή τον τερματισμό λειτουργίας του Linux. # Πολυμέσα και κωδικοποιητές

Για γράφοντας ένα απλό σενάριο bash, πρέπει να εκτελέσουμε τα παρακάτω απλά βήματα:

Πώς λειτουργούν όλα:

Η πρώτη γραμμή του σεναρίου μας #!/bin/bash είναι απαραίτητη για την επιτυχή εκτέλεση του σεναρίου μας.

δεύτερη γραμμή mkdir testdir δημιουργεί τον κατάλογο testdir

η τρίτη γραμμή cd testdir σας επιτρέπει να μεταβείτε στον δημιουργημένο κατάλογο testdir

ομάδα αφήστην επόμενη γραμμή αγγίξτε file1 file2 file3 δημιουργεί τρία αρχεία

και η τελευταία εντολή στη γραμμή του σεναρίου μας, ls -al, σας επιτρέπει να εμφανίσετε τα περιεχόμενα του τρέχοντος καταλόγου, στον οποίο, χάρη στην προηγούμενη γραμμή, εμφανίστηκαν τρία κενά αρχεία.

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

Εάν εκτελείτε καθημερινά μια αλυσίδα από πανομοιότυπες εντολές (με σταθερές παραμέτρους) στο Linux, τότε ίσως είναι λογικό να γράψετε το ίδιο απλό σενάριο bash, που θα σας επιτρέψει να εξοικονομήσετε χρόνο και να αυτοματοποιήσετε την εργασία σας.

Πρώτα απ 'όλα, ας καταλάβουμε τι είναι γραφήκαι γιατί χρειάζεται.

Γραφήμετάφραση από τα αγγλικά - σενάριο. Όλοι βλέπουμε ταινίες, πολλοί από εμάς παρακολουθούμε θεατρικά έργα. Για να δημιουργήσουν μια ταινία/θεατρικό, οι σεναριογράφοι γράφουν σενάρια για αυτές, με βάση τα οποία οι ηθοποιοί ερμηνεύουν τους ρόλους τους στη σκηνή, σκηνή προς σκηνή, από την οποία αποτελείται η ταινία/το έργο. Η δουλειά για τη δημιουργία ενός σεναρίου είναι αρκετά επίπονη, όπου πρέπει να λάβετε υπόψη τα πάντα μέχρι την παραμικρή λεπτομέρεια, έτσι ώστε στο τέλος οι καλλιτέχνες να εκπληρώσουν αυτό που ήθελε ο σεναριογράφος και ο θεατής να δει ένα πλήρες έργο.

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

Αρχικά, ας δημιουργήσουμε το πιο απλό script-Shellγια ενημέρωση του συστήματος.

Θα πραγματοποιήσω όλες τις ενέργειες με το σύστημα Ubuntu, αλλά ισχύουν και σε άλλα συστήματα Linux, που προέρχονται από Ubuntu. Για αυτό χρειαζόμαστε: Επεξεργαστής κειμένουνα το συμπληρώσετε με τις απαραίτητες εργασίες για τη δημιουργία ενός σεναρίου (κώδικα) και Τερματικό- για να εκτελέσετε το σενάριο που δημιουργήθηκε. Αυτά τα εργαλεία εγκαθίστανται σε οποιαδήποτε διανομή LinuxΠροκαθορισμένο.

Λοιπόν, ας ανοίξουμε επεξεργαστής κειμένου Geditκαι εισάγετε σε αυτό τους πρώτους απαιτούμενους χαρακτήρες που καλούνται δουλεία.
δουλείαστον προγραμματισμό, είναι μια ακολουθία δύο συμβόλων: κατακερματισμός και θαυμαστικό (#! ) στην αρχή του αρχείου σεναρίου. Και προσθέστε σε αυτούς τους χαρακτήρες χωρίς κενά /bin/sh- τον διερμηνέα όπου θα εκτελεστεί το σενάριο. /bin/sh- αυτό είναι συνήθως Κέλυφος Bourneή έναν συμβατό διερμηνέα γραμμής εντολών που περνάει "διαδρομή/προς/σενάριο"ως πρώτη παράμετρος.
Η πρώτη απαιτούμενη γραμμή του σεναρίου θα μοιάζει με αυτό:

# Το πρώτο μου σενάριο ενημέρωσης Ubuntu

Το σύμβολο κατακερματισμού (#) στην αρχή της γραμμής καθιστά σαφές στον διερμηνέα/τερματικό ότι αυτή η γραμμή δεν χρειάζεται να διαβαστεί και να εκτελεστεί. Η γραμμή χρειάζεται στον κώδικα αυτού του σεναρίου για να ξέρει ο δημιουργός του σεναρίου τι πρόκειται να κάνει σε αυτό το τμήμα/σκηνή στον κώδικα, ώστε να μην μπερδευτείτε στο μέλλον όταν υπάρχουν πολλές τέτοιες γραμμές. Τέτοιες γραμμές με σύμβολο κατακερματισμού ονομάζονται - σχολίασε .

sudo apt ενημέρωση
sudo apt αναβάθμιση -y

στο τέλος της δεύτερης εντολής καθιστά σαφές στον διερμηνέα/τερματικό ότι αυτή η ενέργεια/εντολή πρέπει να εκτελεστεί αυτόματα, χωρίς πρόσθετη επιβεβαίωση από τον χρήστη με το πάτημα ενός πλήκτρου Εισαγω. y- συντομογραφία για τα αγγλικά Ναί, δηλ. Ναί.

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


Το μόνο που μένει είναι να αποθηκεύσετε το αρχείο/script που δημιουργήθηκε και να το δώσετε Ονομαμε υποχρεωτική παράταση στο τέλος - .SH. Επέκταση .SHεκχωρείται στο εκτελέσιμο αρχείο.
Του έδωσα Ονομα - ενημέρωση.sh, εξοικονόμηση σε Αρχικό φάκελοχρήστης:


Για να είναι εκτελέσιμο το αρχείο/σενάριο που δημιουργήθηκε, πρέπει να του δοθεί η άδεια να το κάνει. Υπάρχουν δύο τρόποι για να γίνει αυτό.

1. Εκτελέστε την ακόλουθη εντολή στο τερματικό:

sudo chmod +x update.sh

2. Ή ανοίξτε τη διαχείριση αρχείων Αρχικό φάκελο(όπου αποθηκεύσατε το σενάριο που δημιουργήσατε), κάντε δεξί κλικ στο αρχείο, στο μενού περιβάλλοντος - Ιδιότητες – Δικαιώματακαι ενεργοποιήστε το στοιχείο - Εκτέλεση: Επιτρέψτε στο αρχείο να εκτελεστεί ως πρόγραμμα:


Για να εκτελέσετε το σενάριο που δημιουργήθηκε, πρέπει να ανοίξετε το τερματικό (όπως έγραψα στην αρχή του άρθρου ότι το τερματικό είναι απαραίτητο χαρακτηριστικό/εργαλείο για την εκτέλεση του σεναρίου), πληκτρολογήστε SH, χωρισμένο με κενό το όνομα του σεναρίου - ενημέρωση.shκαι πατήστε το πλήκτρο Εισαγω:


Ή στο τερματικό μπαίνουμε SHκαι σύρετε από διαχείριση αρχείωντο αρχείο που δημιουργήθηκε με το σενάριο (χωρίζεται επίσης με κενό):


Μόλις εμφανιστεί η διαδρομή του αρχείου μετά την εντολή SHκαι διάστημα, απλώς πατήστε το πλήκτρο Εισαγω(Enter) για να εκτελέσετε μια ενημέρωση συστήματος:


Τώρα, ανά πάσα στιγμή, μπορείτε να ενημερώσετε το σύστημα χρησιμοποιώντας το δικό σας σενάριο.

Ναι, κάποιος μπορεί να υποστηρίξει ότι η ενημέρωση του συστήματος δεν είναι δύσκολη με την εκτέλεση αυτών των δύο εντολών στο τερματικό, γιατί να φουσκώσει και να δημιουργήσει μερικά σενάρια; Σωστά. Αλλά αυτό είναι ένα παράδειγμα δημιουργίας ενός απλού σεναρίου για να δείξει ότι «δεν είναι οι θεοί που καίνε τις γλάστρες»

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

Ένα σύνολο σεναρίων αυτοματοποιεί τη διαδικασία σύνδεσης και ξεκινά το PPP, έτσι ώστε το μόνο που έχετε να κάνετε (ως root ή ως μέλος της ομάδας PPP) είναι να δώσετε μια μόνο εντολή για να ξεκινήσετε τη σύνδεσή σας.

15.1 Σενάρια σύνδεσης για έλεγχο ταυτότητας με όνομα χρήστη/κωδικό πρόσβασης

Εάν ο ISP σας δεν απαιτεί PAP/CHAP, αυτά είναι τα σενάρια που χρειάζεστε!

Εάν το πακέτο ppp έχει εγκατασταθεί σωστά, θα πρέπει να έχετε δύο παραδείγματα αρχείων. Για το PPP 2.1.2 βρίσκονται στο /usr/sbin και για το PPP 2.2 είναι στο /etc/ppp/scripts. Καλούνται

για PPP-2. 1.2

και για PPP-2. 2

ppp-off ppp-on ppp-on-diler

Τώρα, εάν χρησιμοποιείτε PPP 2.1.2, σας προτρέπω θερμά να αφαιρέσετε τα παραδείγματα αρχείων. Υπάρχουν πιθανά προβλήματα με αυτά (και μη μου πείτε ότι λειτουργούν τέλεια), τα έχω χρησιμοποιήσει για πολύ καιρό (και τα συνιστώ ακόμη και στην πρώτη έκδοση αυτού του HOWTO)!

Για PPP 2.1.2 διαθέσιμος χρήστης Η ΚΑΛΥΤΕΡΗ έκδοσηπρότυπο που λαμβάνεται από τη διανομή PPP 2.2. Σας προτείνω να αντιγράψετε και να χρησιμοποιήσετε αυτά τα σενάρια αντί για το παλιό σενάριο PPP-2.1.2.

Σενάριο 15,2 ppp-on

Αυτό είναι το πρώτο από ένα ΖΕΥΓΟΣ σεναρίων που ξεκινούν πραγματικά τη σύνδεση.

#!/bin/sh # # Σενάριο για την έναρξη μιας σύνδεσης PPP. Αυτό είναι το πρώτο μέρος από μερικά σενάρια. # Αυτά δεν είναι μυστικά σενάρια, αφού οι κωδικοί είναι ορατοί με την εντολή ps. # Ωστόσο, αυτό είναι ένα παράδειγμα. # # Αυτές είναι οι παράμετροι. Αλλάξτε τα όπως χρειάζεται. ΤΗΛΕΦΩΝΟ=555-1212 # Τηλεφωνικό νούμεροσυνδέσεις ACCOUNT=george # Όνομα χρήστη Σύνδεση ("George Burns") PASSWORD=gracie # Κωδικός πρόσβασης για αυτόν τον λογαριασμό (και "Gracie Allen") LOCAL_IP=0.0.0.0 # Τοπική διεύθυνση IP, εάν είναι γνωστή. Dynamic = 0.0.0.0 REMOTE_IP=0.0.0.0 # Απομακρυσμένη διεύθυνση IP, εάν θέλετε. Τυπικά 0.0.0.0 NETMASK=255.255.255.0 # Η αντίστοιχη μάσκα δικτύου, αν χρειάζεται # # Εξαγωγή τους ώστε να είναι διαθέσιμα στον ΚΩΔΙΚΟ ΚΩΔΙΚΟΣ ΤΗΛΕΦΩΝΟΥ εξαγωγής ΛΟΓΑΡΙΑΣΜΟΥ ΤΗΛΕΦΩΝΟΥ # # Αυτή είναι η θέση του σεναρίου που καλεί το τηλέφωνο και εγγραφεί με # σύστημα. Χρησιμοποιήστε ένα απόλυτο όνομα αρχείου, καθώς η επιλογή Connect # δεν χρησιμοποιεί τη μεταβλητή $PATH. (Εάν το κάνετε αυτό, ο λογαριασμός "root" θα είναι # μια τρύπα ασφαλείας, επομένως μην ρωτάτε.) # DIALER_SCRIPT=/etc/ppp/ppp-on-dialer # # Έναρξη σύνδεσης # # exec /usr/sbin /pppd εντοπισμός σφαλμάτων / dev/ttySx 38400 \ $LOCAL_IP:$REMOTE_IP \ σύνδεση $DIALER_SCRIPT

Αυτό είναι το σενάριο ppp-on-diler:

#!/bin/sh # # Αυτό είναι το δεύτερο μέρος του σεναρίου ppp-on. Ρυθμίζει την # επιθυμητή σύνδεση. # /usr/sbin/chat -v \ TIMEOUT 3 \ ABORT "\nBUSY\r" \ ABORT "\nΚΑΜΙΑ ΑΠΑΝΤΗΣΗ\r" \ ABORT "\nRINGING\r\n\r\nRINGING\r" \ "" \rAT \ "OK-+++\c-OK" ATH0 \ TIME OUT 30 \ OK ATDT$TELEPHONE \ CONNECT "" \ ogin:--login: $ACCOUNT \ assword: $PASSWORD

Για το PPP-2.2, το σενάριο ppp-off είναι κάπως έτσι:

#!/bin/sh ############################################################ ## ############################ # # Καθορίστε τη συσκευή που θα διακοπεί. # if [ "$1" = "" ]; τότε DEVICE=ppp0 άλλο DEVICE=$1 fi ############################################################### ############################ # # Αν το αρχείο pid ppp0 υπάρχει, τότε το πρόγραμμα λειτουργεί. Σταμάτα την. εάν [ -r /var/run/$DEVICE.pid ]; τότε kill -INT `cat /var/run/$DEVICE.pid` # # Εάν η θανάτωση αποτύχει, τότε δεν εκτελείται διαδικασία κάτω από αυτό το pid. # Αυτό θα μπορούσε επίσης να σημαίνει ότι υπάρχει ένα ξένο αρχείο κλειδώματος. # Μπορεί να θέλετε να το αφαιρέσετε. αν [! "$?" = "0" ]; μετά rm -f /var/run/$DEVICE.pid echo "ΣΦΑΛΜΑ: Αφαιρέθηκε παλιό αρχείο pid" Έξοδος 1 fi # # Εξαιρετικό. Αφήστε το pppd να διορθώσει το δικό του σφάλμα. echo "Ο σύνδεσμος PPP προς $DEVICE τερματίστηκε." exit 0 fi # # ppp διαδικασία δεν εκτελείται για ppp0 echo "ΣΦΑΛΜΑ: Ο σύνδεσμος PPP δεν είναι ενεργός στη συσκευή $DEVICE" Έξοδος 1

15.3 Επεξεργασία σεναρίων εκκίνησης PPP

Επειδή τα νέα σενάρια έρχονται σε δύο μέρη, θα τα επεξεργαστούμε με τη σειρά μας.

Σενάριο ppp-on

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

Κάθε μία από τις γραμμές όπως TELEPHONE= είναι στην πραγματικότητα μεταβλητές του κελύφους που περιέχουν τις πληροφορίες στα δεξιά του = (εξαιρουμένων των σχολίων, φυσικά). Επεξεργαστείτε καθεμία από αυτές τις γραμμές για να ταιριάζει με τον ISP και τη σύνδεσή σας.

Επίσης, εφόσον ορίζετε τη διεύθυνση IP (αν τη χρειάζεστε) στο αρχείο /etc/ppp/options, REMOVE τη γραμμή που λέει

$LOCAL_IP:$REMOTE_IP \

Επίσης, βεβαιωθείτε ότι μεταβλητή κελύφουςΤο DIALER_SCRIPT δείχνει την πλήρη διαδρομή και το όνομα του σεναρίου κλήσης που πρόκειται να χρησιμοποιήσετε πραγματικά. Επομένως, εάν το μετακινήσατε ή μετονομάσατε το σενάριο, βεβαιωθείτε ότι έχετε επεξεργαστεί σωστά αυτήν τη γραμμή στο σενάριο ppp-on!

Σενάριο ppp-on-diler

Αυτό είναι το δεύτερο σενάριο που πραγματικά ανεβάζει τη σύνδεσή μας ppp.

Σημείωση: το σενάριο συνομιλίας είναι συνήθως σενάριο μιας γραμμής. Οι ανάστροφες κάθετες χρησιμοποιούνται για να διαχωρίσουν τις γραμμές σε πολλές φυσικές γραμμές (για την ανθρώπινη αναγνωσιμότητα) και αποφεύγουν να αποτελούν μέρος του ίδιου του σεναρίου.

Ωστόσο, είναι πολύ χρήσιμο να το δούμε αυτό λεπτομερώς για να καταλάβουμε τι πραγματικά (δήθεν) συμβαίνει!

15.4 Τι σημαίνει το σενάριο συνομιλίας...

Σενάριο συνομιλίας - ακολουθία ζευγών αναμενόμενη συμβολοσειράέστειλε συμβολοσειρά. Συγκεκριμένα, σημειώστε ότι περιμένουμε ΠΑΝΤΑ κάτι πριν στείλουμε οτιδήποτε.

Εάν πρέπει να στείλουμε κάτι ΧΩΡΙΣ να λάβουμε πρώτα τίποτα, πρέπει να χρησιμοποιήσουμε μια κενή συμβολοσειρά αναμονής (που συμβολίζεται με "") και ομοίως για να περιμένουμε κάτι χωρίς να στείλουμε τίποτα! Επίσης, εάν η συμβολοσειρά αποτελείται από πολλές λέξεις, (για παράδειγμα, NO CARRIER), πρέπει να βάλετε εισαγωγικά γύρω από τη συμβολοσειρά, ώστε η συνομιλία να την αντιμετωπίζει ως ένα σύνολο.

Η γραμμή συνομιλίας στο πρότυπό μας:

Exec /usr/sbin/chat -v

Κατά την κλήση συνομιλίας, η επιλογή -v λέει στη συνομιλία να αντιγράψει ΟΛΕΣ τις εισόδους/εξόδους στο αρχείο καταγραφής συστήματος (συνήθως /var/log/messages). Μόλις είστε βέβαιοι ότι το σενάριο συνομιλίας λειτουργεί αξιόπιστα, επεξεργαστείτε αυτήν τη γραμμή για να αφαιρέσετε το -v για να αποφύγετε την αποθήκευση περιττών πληροφοριών στο syslog σας

Αυτό ορίζει την παύση για τη λήψη της αναμενόμενης εισόδου σε 3 δευτερόλεπτα. Μπορείτε να αυξήσετε αυτή την τιμή σε 5 ή 10 δευτερόλεπτα εάν χρησιμοποιείτε αργό μόντεμ!

ΑΠΟΤΥΧΩΣΗ "\nΑΠΟΧΕΙΡΙΣΜΕΝΟΣ\r"

Εάν ληφθεί η συμβολοσειρά BUSY, η λειτουργία ματαιώνεται ασυνήθιστα.

ΑΠΑΝΤΗΣΗ "\nΚΑΜΙΑ ΑΠΑΝΤΗΣΗ\r"

Εάν ληφθεί η συμβολοσειρά NO ANSWER, η λειτουργία ματαιώνεται ασυνήθιστα.

ΑΠΟΚΤΥΨΗ "\nΚΛΗΡΩΣΗ\r\n\r\nΚΛΗΣΗ\r"

Εάν (επαναλαμβάνουμε) ληφθεί η συμβολοσειρά RINGING, τότε η λειτουργία ματαιώνεται ασυνήθιστα.

Είναι επειδή κάποιος είναι στη γραμμή του τηλεφώνου σας!

Δεν περιμένουμε τίποτα από το μόντεμ και θα του στείλουμε μια γραμμή

OK-+++\c-OK ATH0

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

Αυτό που λέει είναι... Περιμένουμε Εντάξειεάν δεν ληφθεί (επειδή το μόντεμ δεν βρίσκεται σε λειτουργία εντολών), στείλτε το +++ (την τυπική γραμμή για μόντεμ συμβατά με Hayes, η οποία επιστρέφει το μόντεμ στο λειτουργία εντολής) και περιμένετε Εντάξει.

Στη συνέχεια στέλνουμε ATH0 (μια γραμμή για τον τερματισμό της σύνδεσης του μόντεμ). Αυτό επιτρέπει στο σενάριό σας να αντιμετωπίσει το μόντεμ σας που κρέμεται κατά τη διάρκεια μιας κλήσης!

Ας ορίσουμε μια χρονική παύση 30 δευτερολέπτων για τις υπόλοιπες εντολές σεναρίου. Εάν αντιμετωπίζετε προβλήματα με το σενάριο συνομιλίας που σπάει λόγω παύσεων, αυξήστε αυτήν την τιμή σε 45 δευτερόλεπτα ή περισσότερο

OK ATDT$TELEPHONE

Περιμένουμε Εντάξει(απόκριση του μόντεμ στην εντολή ATH0) και καλέστε τον αριθμό που θέλουμε να καλέσουμε

Περιμένουμε τη γραμμή CONNECT (την οποία στέλνει το μόντεμ μας όταν απαντήσει το απομακρυσμένο μόντεμ) και δεν στέλνουμε τίποτα ως απάντηση

Είσοδος:--login: $ACCOUNT

Και πάλι, εδώ βάζουμε μερικές διορθώσεις σφαλμάτων. Περιμένουμε την προτροπή σύνδεσης (...ogin:), αλλά αν δεν λάβουμε μετά από μια παύση, στέλνουμε μια επιστροφή και μετά αναζητούμε ξανά την προτροπή σύνδεσης. Όταν ληφθεί η υπόδειξη, στέλνουμε το όνομα χρήστη (αποθηκευμένο στη μεταβλητή φλοιού $ACCOUNT).

Κωδικός πρόσβασης: $PASSWORD

Περιμένουμε το αίτημα κωδικού πρόσβασης και στέλνουμε τον κωδικό πρόσβασής μας (ομοίως αποθηκευμένος στη μεταβλητή του κελύφους).

Αυτό το σενάριο συνομιλίας έχει εύλογη δυνατότητα διόρθωσης σφαλμάτων. chat έχει σημαντικά μεγάλη ποσότηταδυνατότητες από αυτές που παρουσιάζονται εδώ. Για λεπτομερείς πληροφορίεςσυμβουλευτείτε τη συνομιλία του άνδρα (συνομιλία άνδρα 8).

Εκτέλεση PPP στην πλευρά του διακομιστή της σύνδεσης

Ενώ το σενάριο ppp-on-diler είναι εξαιρετικό για διακομιστές που ξεκινούν αυτόματα το pppd από την πλευρά του διακομιστή αμέσως μόλις συνδεθείτε, ορισμένοι διακομιστές απαιτούν από εσάς να δώσετε ρητά εντολή PPP για εκκίνηση στον διακομιστή.

Εάν πρέπει να εκδώσετε μια εντολή για να ξεκινήσετε το PPP στο διακομιστή, πρέπει να επεξεργαστείτε το σενάριο ppp-on-diler.

ΣΤΟ ΤΕΛΟΣ του σεναρίου (μετά τη γραμμή κωδικού πρόσβασης), προσθέστε ένα επιπλέον ζεύγος συμβολοσειρών αναμονής-αποστολής που αναζητά την προτροπή σύνδεσής σας (διακρίνοντας χαρακτήρες που έχουν ειδική σημασία στο κέλυφος Bourne: όπως $ και [ ή ] (ανοιχτό και κλειστό αγκύλες).

Μόλις το πρόγραμμα συνομιλίας βρει τη γραμμή εντολών του κελύφους, θα πρέπει να εκδώσει την εντολή έναρξης ppp που απαιτείται από τον διακομιστή PPP του ISP σας.

Στην περίπτωσή μου, ο διακομιστής PPP μου χρησιμοποιεί την τυπική προτροπή bash Linux

και μου ζητάει να πληκτρολογήσω

για να ξεκινήσετε το PPP στον διακομιστή.

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

Hartr--hartr ppp

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

Μόλις ληφθεί η υπόδειξη, στέλνουμε τη γραμμή ppp .

Μην ξεχάσετε να προσθέσετε ένα \ στο τέλος της προηγούμενης γραμμής, έτσι ώστε η συνομιλία να πιστεύει ότι ολόκληρο το σενάριο συνομιλίας είναι μία γραμμή!

Δυστυχώς, σε ορισμένους διακομιστές το σύνολο των υποδείξεων αλλάζει συχνά!

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

15.5 Σενάριο συνομιλίας για σύνδεση PAP/CHAP

Εάν ο ISP σας χρησιμοποιεί PAP/CHAP, τότε το σενάριο συνομιλίας σας είναι πολύ πιο απλό.

Ολόκληρο το σενάριο συνομιλίας σας θα πρέπει να κάνει αυτό: καλέστε έναν αριθμό τηλεφώνου, περιμένετε για σύνδεση και, στη συνέχεια, αφήστε το pppd να χειριστεί τη σύνδεση!

#!/bin/sh # # Αυτό είναι το μέρος 2 του σεναρίου ppp-on. Θα εκτελέσει το πρωτόκολλο σύνδεσης # για την επιθυμητή σύνδεση. # exec /usr/sbin/chat -v \ TIMEOUT 3 \ ABORT "\nBUSY\r" \ ABORT "\nNO ANSWER\r" \ ABORT "\nRINGING\r\n\r\nRINGING\r" \ "" \ rAT \ "OK-+++\c-OK" ATH0 \ TIME OUT 30 \ OK ATDT$TELEPHONE \ CONNECT "" \

15.6 Εντοπισμός σφαλμάτων pppd και η επιλογή αρχείου option_file

Όπως έχουμε ήδη δει, μπορείτε να ενεργοποιήσετε τον εντοπισμό σφαλμάτων με την επιλογή -d σε pppd. Η επιλογή εντοπισμού σφαλμάτων είναι ισοδύναμη με αυτήν.

Εφόσον δημιουργούμε μια νέα σύνδεση με ένα νέο σενάριο, ελέγξτε τώρα την επιλογή εντοπισμού σφαλμάτων.

Εάν δεν έχετε χώρο στο δίσκο, τα αρχεία καταγραφής pppd μπορούν να αυξήσουν γρήγορα το αρχείο syslog και να σας δημιουργήσουν πρόβλημα.

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

Εάν ονομάσατε το αρχείο επιλογών ppp με κάτι διαφορετικό από /etc/ppp/options ή /etc/ppp/options.ttySx, καθορίστε το όνομα αρχείου με την επιλογή αρχείου στο pppd, για παράδειγμα

Exec /usr/sbin/pppd αρχείο εντοπισμού σφαλμάτων options.myserver /dev/ttyS0 38400 \

Πρώτα απ 'όλα, ας καταλάβουμε τι είναι γραφήκαι γιατί χρειάζεται.

Γραφήμετάφραση από τα αγγλικά - σενάριο. Όλοι βλέπουμε ταινίες, πολλοί από εμάς παρακολουθούμε θεατρικά έργα. Για να δημιουργήσουν μια ταινία/θεατρικό, οι σεναριογράφοι γράφουν σενάρια για αυτές, με βάση τα οποία οι ηθοποιοί ερμηνεύουν τους ρόλους τους στη σκηνή, σκηνή προς σκηνή, από την οποία αποτελείται η ταινία/το έργο. Η δουλειά για τη δημιουργία ενός σεναρίου είναι αρκετά επίπονη, όπου πρέπει να λάβετε υπόψη τα πάντα μέχρι την παραμικρή λεπτομέρεια, έτσι ώστε στο τέλος οι καλλιτέχνες να εκπληρώσουν αυτό που ήθελε ο σεναριογράφος και ο θεατής να δει ένα πλήρες έργο.

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

Αρχικά, ας δημιουργήσουμε το πιο απλό script-Shellγια ενημέρωση του συστήματος.

Θα πραγματοποιήσω όλες τις ενέργειες με το σύστημα Ubuntu, αλλά ισχύουν και σε άλλα συστήματα Linux, που προέρχονται από Ubuntu. Για αυτό χρειαζόμαστε: Επεξεργαστής κειμένουνα το συμπληρώσετε με τις απαραίτητες εργασίες για τη δημιουργία ενός σεναρίου (κώδικα) και Τερματικό- για να εκτελέσετε το σενάριο που δημιουργήθηκε. Αυτά τα εργαλεία εγκαθίστανται σε οποιαδήποτε διανομή LinuxΠροκαθορισμένο.

Ανοίξτε λοιπόν ένα πρόγραμμα επεξεργασίας κειμένου Geditκαι εισάγετε σε αυτό τους πρώτους απαιτούμενους χαρακτήρες που καλούνται δουλεία.
δουλείαστον προγραμματισμό, αυτή είναι μια ακολουθία δύο χαρακτήρων: ένας κατακερματισμός και ένα θαυμαστικό ( #! ) στην αρχή του αρχείου σεναρίου. Και προσθέστε σε αυτούς τους χαρακτήρες χωρίς κενά /bin/sh- τον διερμηνέα όπου θα εκτελεστεί το σενάριο. /bin/sh- αυτό είναι συνήθως Κέλυφος Bourneή έναν συμβατό διερμηνέα γραμμής εντολών που περνάει "διαδρομή/προς/σενάριο"ως πρώτη παράμετρος.
Η πρώτη απαιτούμενη γραμμή του σεναρίου θα μοιάζει με αυτό:

# Το πρώτο μου σενάριο ενημέρωσης Ubuntu

Το σύμβολο κατακερματισμού (#) στην αρχή της γραμμής καθιστά σαφές στον διερμηνέα/τερματικό ότι αυτή η γραμμή δεν χρειάζεται να διαβαστεί και να εκτελεστεί. Η γραμμή χρειάζεται στον κώδικα αυτού του σεναρίου για να ξέρει ο δημιουργός του σεναρίου τι πρόκειται να κάνει σε αυτό το τμήμα/σκηνή στον κώδικα, ώστε να μην μπερδευτείτε στο μέλλον όταν υπάρχουν πολλές τέτοιες γραμμές. Τέτοιες γραμμές με σύμβολο κατακερματισμού ονομάζονται - σχολίασε .

sudo apt ενημέρωση
sudo apt αναβάθμιση -y

στο τέλος της δεύτερης εντολής καθιστά σαφές στον διερμηνέα/τερματικό ότι αυτή η ενέργεια/εντολή πρέπει να εκτελεστεί αυτόματα, χωρίς πρόσθετη επιβεβαίωση από τον χρήστη με το πάτημα ενός πλήκτρου Εισαγω. y- συντομογραφία για τα αγγλικά Ναί, δηλ. Ναί.

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


Το μόνο που μένει είναι να αποθηκεύσετε το αρχείο/script που δημιουργήθηκε και να το δώσετε Ονομαμε υποχρεωτική παράταση στο τέλος - .SH. Επέκταση .SHεκχωρείται στο εκτελέσιμο αρχείο.
Του έδωσα Ονομα - ενημέρωση.sh, εξοικονόμηση σε Αρχικό φάκελοχρήστης:


Για να είναι εκτελέσιμο το αρχείο/σενάριο που δημιουργήθηκε, πρέπει να του δοθεί η άδεια να το κάνει. Υπάρχουν δύο τρόποι για να γίνει αυτό.

1. Εκτελέστε την ακόλουθη εντολή στο τερματικό:

sudo chmod +x update.sh

2. Ή ανοίξτε τη διαχείριση αρχείων Αρχικό φάκελο(όπου αποθηκεύσατε το σενάριο που δημιουργήσατε), κάντε δεξί κλικ στο αρχείο, στο μενού περιβάλλοντος - Ιδιότητες – Δικαιώματακαι ενεργοποιήστε το στοιχείο - Εκτέλεση: Επιτρέψτε στο αρχείο να εκτελεστεί ως πρόγραμμα:


Για να εκτελέσετε το σενάριο που δημιουργήθηκε, πρέπει να ανοίξετε το τερματικό (όπως έγραψα στην αρχή του άρθρου ότι το τερματικό είναι απαραίτητο χαρακτηριστικό/εργαλείο για την εκτέλεση του σεναρίου), πληκτρολογήστε SH, χωρισμένο με κενό το όνομα του σεναρίου - ενημέρωση.shκαι πατήστε το πλήκτρο Εισαγω:


Ή στο τερματικό μπαίνουμε SHκαι σύρετε το δημιουργημένο αρχείο με το σενάριο από τη διαχείριση αρχείων (χωρίζεται επίσης με κενό):


Μόλις εμφανιστεί η διαδρομή του αρχείου μετά την εντολή SHκαι διάστημα, απλώς πατήστε το πλήκτρο Εισαγω(Enter) για να εκτελέσετε μια ενημέρωση συστήματος:


Τώρα, ανά πάσα στιγμή, μπορείτε να ενημερώσετε το σύστημα χρησιμοποιώντας το δικό σας σενάριο.

Ναι, κάποιος μπορεί να υποστηρίξει ότι η ενημέρωση του συστήματος δεν είναι δύσκολη με την εκτέλεση αυτών των δύο εντολών στο τερματικό, γιατί να φουσκώσει και να δημιουργήσει μερικά σενάρια; Σωστά. Αλλά αυτό είναι ένα παράδειγμα δημιουργίας ενός απλού σεναρίου για να δείξει ότι «δεν είναι οι θεοί που καίνε τις γλάστρες» 😃.

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

Πολλοί από εσάς πιθανότατα χρησιμοποιείτε ιστότοπους εγκατάστασης συστήματος, όπως αυτούς που δημοσιεύω μετά την επόμενη έκδοση. Ubuntu - Ubuntu μετά την εγκατάστασηή παρόμοιους ιστότοπους. Ανοίξτε έναν από αυτούς τους ιστότοπους: http://compizomania.blogspot.com/2016/04/ubuntu-1604.html και, στη συνέχεια, ένα πρόγραμμα επεξεργασίας κειμένου για να δημιουργήσετε ένα σενάριο.
Για παράδειγμα, έκανα το παρακάτω κενό.

Σε ένα πρόγραμμα επεξεργασίας κειμένου, εισαγάγετε την πρώτη απαιτούμενη γραμμή:

# Ρύθμιση του Ubuntu μετά την εγκατάσταση
# Ενημέρωση συστήματος

Ακολουθούν οι εντολές ενημέρωσης συστήματος:

sudo apt ενημέρωση
sudo apt αναβάθμιση -y

Γραμμή περιγραφής: Προσθήκη αποθετηρίων:

# Προσθήκη αποθετηρίων

Και προσθέστε τα απαραίτητα αποθετήρια για περαιτέρω εγκατάσταση του λογισμικού:

sudo add-apt-repository "deb http://archive.canonical.com/ $(lsb_release -sc) partner" -y
sudo add-apt-repository ppa:atareao/telegram -y
sudo add-apt-repository ppa:atareao/atareao -y

sudo add-apt-repository ppa:nemh/systemback -y
sudo add-apt-repository ppa:gerardpuig/ppa -y
sudo add-apt-repository ppa:haecker-felix/gradio-daily -y

Αφού προστεθούν τα απαραίτητα αποθετήρια (επαναλαμβάνω, μπορεί να έχετε τα δικά σας αποθετήρια, έχω ένα παράδειγμα), πρέπει να ενημερώσετε το σύστημα:

Γραμμή περιγραφής:

# Ενημέρωση συστήματος μετά τη σύνδεση των αποθετηρίων

Και η εντολή για εκτέλεση:

sudo apt ενημέρωση

Τώρα που έχουν προστεθεί τα αποθετήρια και το σύστημα έχει ενημερωθεί, ήρθε η ώρα να εγκαταστήσετε προγράμματα:

# Εγκατάσταση προγραμμάτων

Για να εγκαταστήσετε προγράμματα, απλώς εισάγετε την εντολή μία φορά εγκατάσταση sudo aptκαι μετά μέσα από ένα διάστημα μέσα αυτή τη γραμμήπροσθέστε όσα προγράμματα θέλετε, το κύριο πράγμα είναι ότι έχουν μεταγλωττιστεί σωστά. Εάν ένα πρόγραμμα αποτελείται από πολλές λέξεις, η εντολή του πρέπει να είναι μονολιθική, δηλ. όλες οι λέξεις σε αυτό πρέπει να εισαχθούν μέσω μιας παύλας, για παράδειγμα: unity-tweak-εργαλείο:

sudo apt εγκαταστήστε το my-weather-indicator τηλεγράφημα skype lm-sensors hddtemp psensor gdebi systemback unity-tweak-tool ubuntu-cleaner gradio -y

Εγκατάσταση πρόσθετων κωδικοποιητών

# Πολυμέσα και κωδικοποιητές

sudo apt εγκατάσταση ubuntu-restricted-extras -y

Απενεργοποίηση αστοχιών συστήματος

# Απενεργοποιήστε την αναφορά σφαλμάτων συστήματος

sudo sed -i "s/enabled=1/enabled=0/g" "/etc/default/apport"

Λοιπόν, μάλλον αυτό είναι όλο. Αυτό το αρχείο σεναρίου που δημιουργήθηκε θα πρέπει να μοιάζει με αυτό:


Πρέπει να το αποθηκεύσετε (κάντε κλικ στο κουμπί Αποθηκεύσετε) και δώσε Ονομαμε επέκταση .SH. τον κάλεσα Ρυθμίσεις\Ubuntu.sh(μπορείτε να το ονομάσετε διαφορετικά, αλλά φροντίστε να χρησιμοποιήσετε την επέκταση .sh):


Ας κάνουμε το σενάριο που δημιουργήθηκε εκτελέσιμο:

sudo chmod +x Setup\Ubuntu.sh

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

Σημείωση. Πίσω κάθετο στην εντολή Ρυθμίσεις\Ubuntu.shδιαφεύγει ένα κενό σε ένα όνομα αρχείου τερματικού μεταξύ δύο ξεχωριστών λέξεων.

Αφού εκτελεστεί το σενάριο, αποθηκεύστε το για το μέλλον, για πιθανή επανεγκατάσταση του συστήματος και εκ νέου διαμόρφωση, καλύτερα σε ξεχωριστό διαμέρισμα του σκληρού δίσκου στο φάκελο /Σπίτι. Αν δεν υπάρχει, τότε υπηρεσία cloudΤύπος (αποθήκευση δεδομένων Cloud): DropBox, Cloud Mail.Ru, Mega.coκ.λπ., ώστε να μπορείτε να χρησιμοποιήσετε το σενάριο μόνοι σας ανά πάσα στιγμή ή να βοηθήσετε φίλους ή συγγενείς να ρυθμίσουν το σύστημα.

Ένα σενάριο φλοιού είναι μια ακολουθία εντολών που μπορείτε να χρησιμοποιήσετε επανειλημμένα. Η εκτέλεση αυτής της ακολουθίας πραγματοποιείται συνήθως με είσοδο γραμμή εντολώνόνομα σεναρίου. Επιπλέον, με το cron μπορείτε να χρησιμοποιήσετε σενάρια για να αυτοματοποιήσετε εργασίες. Μια άλλη χρήση των σεναρίων είναι η διαδικασία εκκίνησης και διακοπής συστήματα UNIX, όταν τα σενάρια έναρξης ορίζουν λειτουργίες με δαίμονες και υπηρεσίες.

Για να δημιουργήσετε ένα σενάριο φλοιού, ανοίξτε ένα νέο, κενό αρχείο στον επεξεργαστή σας. Μπορείτε να χρησιμοποιήσετε οποιοδήποτε πρόγραμμα επεξεργασίας κειμένου για αυτό: δύναμη, emacs, gedit, dtpadκαι τα λοιπά.; Οποιαδήποτε θα κάνει. Ωστόσο, μπορείτε να επιλέξετε έναν πιο προηγμένο επεξεργαστή όπως π.χ δύναμηή emacs, καθώς τέτοιοι επεξεργαστές μπορούν να ρυθμιστούν ώστε να αναγνωρίζουν τη σύνταξη του κελύφους και του Bash και μπορούν να βοηθήσουν στην αποφυγή λαθών που κάνουν συχνά οι αρχάριοι, όπως να ξεχάσουν να κλείσουν παρενθέσεις και να χρησιμοποιήσουν ερωτηματικά.

Καντράν Εντολές UNIXσε ένα νέο κενό αρχείο σαν να τα είχατε εισάγει στη γραμμή εντολών. Όπως συζητήθηκε στο προηγούμενο κεφάλαιο (δείτε την ενότητα "Εκτέλεση εντολής"), οι εντολές μπορεί να είναι συναρτήσεις φλοιού, ενσωματωμένες εντολές, εντολές UNIX ή άλλα σενάρια.

Δώστε στο σενάριό σας ένα μνημονικό όνομα που να λέει τι κάνει το σενάριο. Βεβαιωθείτε ότι το όνομα του σεναρίου σας δεν έρχεται σε διένεξη με τις υπάρχουσες εντολές. Για να αποφευχθεί οποιαδήποτε σύγχυση, τα ονόματα σεναρίων συχνά τελειώνουν με την επέκταση .sh. Ωστόσο, ενδέχεται να υπάρχουν άλλα σενάρια με το ίδιο όνομα που επιλέξατε στο σύστημά σας. Χρήση εντολών οι οποίες, που είναικαι άλλοι, αναζητήστε πληροφορίες σχετικά με υπάρχοντα προγράμματα και αρχεία με αυτό το όνομα:

Ποιο -a script_name whereis script_name εντοπίσει το script_name ( περίπου. : αντικαταστήστε το script_name με το όνομα του σεναρίου σας).

Σενάριο δέσμης ενεργειών1.sh

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


Εικ.2.1. Σενάριο δέσμης ενεργειών1.sh

Γράψε το ίδιο σενάριο για τον εαυτό σου. Μια καλή ιδέα θα ήταν να δημιουργήσετε έναν κατάλογο ~/scripts όπου θα βρίσκονται τα σενάρια σας. Προσθέστε αυτόν τον κατάλογο στο περιεχόμενο μεταβλητή PATH:

Εξαγωγή PATH="$PATH:~/scripts"

Εάν μόλις ξεκινάτε με το Bash, χρησιμοποιήστε ένα πρόγραμμα επεξεργασίας κειμένου που χρησιμοποιεί διαφορετικά χρώματα για διαφορετικές κατασκευές φλοιού. Η επισήμανση σύνταξης υποστηρίζεται στο δύναμη, gvim, (χ)emacs, kwriteκαι πολλούς άλλους συντάκτες, δείτε την τεκμηρίωση για τον αγαπημένο σας επεξεργαστή.

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

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

Willy:~/scripts> chmod u+x script1.sh willy:~/scripts> ls -l script1.sh -rwxrw-r-- 1 willy willy 456 Dec 24 17:11 script1.sh willy:~> script1.sh Το σενάριο ξεκινά τώρα. Γεια σου Γουίλι! Θα σας φέρω τώρα μια λίστα με συνδεδεμένους χρήστες: 3:38 μ.μ. έως 18 ημέρες, 5:37, 4 χρήστες, μέσος όρος φόρτωσης: 0,12, 0,22, 0,15 TTY ΧΡΗΣΤΗ ΑΠΟ ΣΥΝΔΕΣΗ@ IDLE JCPU PCPU WHAT root tty2 - Σαβ 2 μ.μ. 4:25 μ. 0,24s 0,05s -bash Willy:0 - Σαβ 14:00 ? 0,00s ? - willy pts/3 - Sat 2pm 3:33m 36.39s 36.39s BitchX willy ir willy pts/2 - Sat 2pm 3:33m 0.13s 0.06s /usr/bin/screen Ρυθμίζω δύο μεταβλητές τώρα. Αυτή είναι μια συμβολοσειρά : μαύρο Και αυτός είναι ένας αριθμός: 9 Σας δίνω πίσω την προτροπή σας τώρα. willy:~/scripts> echo $COLOUR willy:~/scripts> echo $VALUE willy:~/scripts>

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

Εάν δεν προσδιορίσατε τα σενάρια ή . (τρέχων κατάλογος), μπορείτε να ενεργοποιήσετε το σενάριο ως εξής:

./script_name.sh

Είναι επίσης δυνατό να τρέξετε ένα σενάριο μέσα σε ένα υπάρχον κέλυφος, αλλά αυτό γίνεται συνήθως μόνο εάν θέλετε ειδικές δυνατότητες, όπως εάν θέλετε να ελέγξετε εάν ένα σενάριο λειτουργεί με άλλο κέλυφος ή να δημιουργήσετε ένα ίχνος για σκοπούς εντοπισμού σφαλμάτων ( περίπου.- αντί για script_name, καθορίστε το όνομα του σεναρίου σας):

Rbash script_name.sh sh script_name.sh bash -x script_name.sh

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

Εάν δεν θέλετε να ξεκινήσετε ένα νέο κέλυφος, αλλά θέλετε να εκτελέσετε το σενάριο στο τρέχον κέλυφος, χρησιμοποιήστε την εντολή πηγής:

Πηγή script_name.sh

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

Willy:~/scripts> source script1.sh --output ommitted-- willy:~/scripts> echo $VALUE 9 willy:~/scripts>