Δημιουργήστε το πρόγραμμά σας βήμα προς βήμα χρησιμοποιώντας το Shell Scripting - Μέρος 4

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

Shell Scripting

Και σε προηγούμενα, πώς να εφαρμόσετε ένα Shebang και BSM (Bash Strict Mode / Strict Bash Mode).

Βέλτιστες πρακτικές για τη δημιουργία ενός σεναρίου Shell στο GNU / Linux - Μέρος 1

Βέλτιστες πρακτικές για τη δημιουργία ενός σεναρίου Shell στο GNU / Linux - Μέρος 2

Εδώ είναι ένα παράδειγμα α Ενότητα βελτιστοποίησης, λαμβάνοντας ως παράδειγμα ένα από τα δικά μου προγράμματα (εφαρμογές) γεγονότα σε Σενάριο κελύφους που ονομάζεται Εγκατάσταση Linux Post - Bententennial Script 8.0:

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


###############################################################################
# INICIO DEL MODULO DE OPTIMIZACIÓN AL LINUX POST INSTALL - SCRIPT BICENTENARIO               
###############################################################################

# Sección que instala los paquetes bases del LPI-SB

echo -e '\a'

apt update && apt install dialog gxmessage zenity espeak gksu -y && apt install -f && dpkg --configure -a

if [ $? = 0 ]; then

     echo ""
     echo ""
     echo "#--------------------------------------------------------#"
     echo "#LA INSTALACIÓN DE LOS PAQUETES HA CULMINADO EXITOSAMENTE#"
     echo "#--------------------------------------------------------#"
     echo ""
     echo ""

     play /usr/share/sounds/info.wav 2> /dev/null

     sleep 3
     clear

else

     echo ''
     echo ''
     echo '#--------------------------------------------------------#'
     echo '# LA INSTALACIÓN DE LOS PAQUETES NO CULMINO EXITOSAMENTE #'
     echo '#--------------------------------------------------------#'
     echo ''
     echo ''

     play /usr/share/sounds/warning.wav 2> /dev/null

     sleep 3
     clear

     echo ''
     echo ''
     echo '#--------------------------------------------------------#'
     echo '#                  EJECUTE MANUALMENTE                   #'
     echo '# UN MANTENIMIENTO PREVENTIVO Y CORRECTIVO EN SU SISTEMA #'
     echo '#   EJECUTANDO LA SIGUIENTES ORDEN DE COMANDO, 1 HA 1:   #'
     echo '#                                                        #'
     echo '#                       apt update                       #'
     echo '#                     apt install -f                     #'
     echo '#                   dpkg --configure -a                  #'
     echo '#                       apt upgrade                      #'
     echo '#                                                        #'
     echo '#   LUEGO INSTALE MANUALMENTE LOS PAQUETES NECESARIOS    #'
     echo '#         CON LA ORDEN DE COMANDO SIGUIENTE:             #'
     echo '#                                                        #'
     echo '#      apt install dialog gxmessage zenity espeak -y     #'
     echo '#                                                        #'
     echo '#  AHORA, VUELVA HA INTENTAR EJECUTAR EL SCRIPT LPI-SB   #'
     echo '#--------------------------------------------------------#'
     echo ''
     echo ''

     sleep 3
     clear

     play /usr/share/sounds/info.wav 2> /dev/null

     exit 0

fi

wget -o /dev/null --user-agent="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36" -O "/tmp/audio.mp3" "https://translate.google.co.ve/translate_tts?ie=UTF-8&q=BIENVENIDO%20AL%20LINUX%20POST%20INSTALL%20-%20SCRIPT%20BICENTENARIO&tl=es&total=1&idx=0&textlen=54&tk=511133.124198&client=t&prev=input&ttsspeed=0.24" ; play -q /tmp/audio.mp3

wget -o /dev/null --user-agent="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/29.0.1547.2 Safari/537.36" -O "/tmp/audio.mp3" "https://translate.google.co.ve/translate_tts?ie=UTF-8&q=ESTIMADO%20USUARIO%2C%20ESPERE%20UNOS%20SEGUNDOS%20MIENTRAS%20EL%20PROGRAMA%20SE%20CARGA%20E%20INICIA&tl=es&total=1&idx=0&textlen=77&tk=337132.200023&client=t&prev=input" ; play -q /tmp/audio.mp3

###############################################################################
# FINAL DEL MODULO DE OPTIMIZACIÓN AL LINUX POST INSTALL - SCRIPT BICENTENARIO               
###############################################################################

===============

Όπως μπορείτε να δείτε, αυτή η ενότητα τρέχει ένα ενημέρωση ικανότητας, ακολουθούμενη από την εγκατάσταση των πακέτων διάλογος gxmessage zenity espeak gksu, συνεχίζοντας με τις εντολές εντολών εγκατάσταση ικανότητας -f y dpkg –διαμόρφωση -α. Και σε περίπτωση που και μόνο εάν όλα έχουν εκτελεστεί ικανοποιητικά, α οπτικό μήνυμα από το τερματικό της επιτυχούς ολοκλήρωσης με ένα ηχητική προειδοποίηση και συνέχισα με το επόμενο βήμα (ενότητα / ενότητα) του Σενάριο κελύφους. Διαφορετικά, α οπτικό μήνυμα από το τερματικό της ανεπιτυχούς πραγματοποίησης με ένα ηχητική προειδοποίηση, με άλλον οπτικό μήνυμα από το τερματικό που προτείνει χειροκίνητες ενέργειες για την αποφυγή του σφάλματος που επιτυγχάνεται ξανά και μετά ολοκληρώστε την εκτέλεση του Σενάριο κελύφους.

Όσον αφορά τις 2 τελευταίες γραμμές της ενότητας, αυτά που ξεκινούν με wget εντολή, προς το παρόν αυτά δεν είναι απαραίτητα, καθώς αποτελούν μέρος του Πειραματική διαδικασία προσαρμοσμένο από εμένα για να επιτύχω τη φωνητική υποστήριξη ενός Σενάριο κελύφους με σύνδεση στο Διαδίκτυο χρησιμοποιώντας το Συνδυαστής φωνής στο διαδίκτυο από τη Μετάφραση Google και την αισθησιακή γυναικεία φωνή της, και έτσι αντικαταστήστε το συνθεσάιζερ με ρομποτική φωνή (αρσενικό / θηλυκό) παρέχονται τοπικά από τα λειτουργικά συστήματα GNU / Linux με τα πακέτα (προγράμματα) espeak, festival, festvox, mbrola, ομιλία και stardict.

Σύσταση:

ΔΙΑΒΑΣΤΕ ΤΟ ΕΓΓΡΑΦΟ: «Ο ΚΑΘΕΔΡΙΚΟΣ ΚΑΙ Ο ΜΠΑΖΑΡ»

Ο καθεδρικός ναός και το παζάρι είναι ένα είδος μανιφέστο που δημιουργήθηκε από την Έρικ Σ. Ρέιμοντ κατά το έτος 1.998 να προσπαθήσετε να εξηγήσετε από την άποψή σας και την προσωπική σας εμπειρία (Δημιουργία του προγράμματος Λήψη μηνυμάτων) τι αντιλήφθηκε για την επιτυχή δημιουργία και εξέλιξη του Linux και των σχετικών προγραμμάτων του, ειδικά από την οπτική γωνία της διαφοράς μεταξύ του Μοντέλα ανάπτυξης λογισμικού, το οποίο κάλεσε προσωπικά: Μοντέλο καθεδρικού ναού και παζάρι.

Η συνοπτική ανάλυση αυτού του εγγράφου έχει ως εξής:

Αυτή η ανάγνωση προτείνει ή παρουσιάζει το όραμα που μέσα στον κόσμο Λογισμικό Ingeniería del υπάρχουν «δύο εντελώς διαφορετικοί τρόποι ανάπτυξης, μοντέλο καθεδρικού ναού, ισχύει για τις περισσότερες από τις εξελίξεις που πραγματοποιήθηκαν στον κόσμο Εμπορικό λογισμικό, μπροστά από μοντέλο παζάρι, πιο χαρακτηριστικό του κόσμου Linux ". Υπογραμμίζοντας ότι αυτά τα 2 μοντέλα προέρχονται από αντίθετα σημεία εκκίνησης σχετικά με τη φύση της διαδικασίας εντοπισμού σφαλμάτων λογισμικού και από τη συγκεκριμένη θεωρία του για αυτό που κάλεσε Ο νόμος του Λινους που ανέφερε τα εξής: "Λαμβάνοντας υπόψη έναν επαρκή αριθμό ματιών, όλα τα λάθη είναι άσχετα" ή με άλλα λόγια: "Με επαρκή αριθμό ματιών, όλα τα λάθη είναι μικροπράγματα."

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

χάκερ

"Το Linux είναι ανατρεπτικό." Γιατί; Το πρώτο πράγμα που μας λέει αυτή η ανάγνωση είναι ότι:

Μέχρι τότε υπήρχε μια τεράστια ποικιλία τυποποιημένων μεθόδων ανάπτυξης λογισμικού ή μοντέλων που βασίστηκαν "Πιο κεντρική και προγραμματισμένη προσέγγιση από την αρχή" ως αποτέλεσμα της πράξης σχεδιασμού του λογισμικού ως κάτι που σχετίζεται με ένα παράγοντας X που οδηγεί σε «Κάποια κρίσιμη πολυπλοκότητα». Και αυτό παρά το γεγονός ότι αυτό υπήρχε ήδη στο Unix κόσμοΜε άλλα λόγια, η εργασία που αποτελείται από μικρά εργαλεία, ταχεία ανάπτυξη πρωτοτύπων και εξελικτικό προγραμματισμό, η εμφάνιση της φιλοσοφίας ανάπτυξης Ελεύθερου Λογισμικού στο Linux έφερε το θέμα σε ένα άλλο επίπεδο πολυπλοκότητας.

Ως αποτέλεσμα αυτού, ενώ Ανάπτυξη ιδιωτικού λογισμικού ήταν φτιαγμένο από "Σιωπηλός και σεβαστός τρόπος", καθώς χτίζετε ένα Καθεδρικός ναός, Η Ανάπτυξη Ελεύθερου Λογισμικού (Linux) ήταν φτιαγμένο από "πολυσύχναστος τρόπος και με πολλαπλές ατζέντες (διαδρομές) και προσεγγίσεις (προτάσεις) ", όπως ήσασταν σε μια μεγάλη Bazar.

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

  1. ΟΛΕΣ ΟΙ ΚΑΛΕΣ ΕΡΓΑΣΙΕΣ ΣΤΟ ΛΟΓΙΣΜΙΚΟ ΞΕΚΙΝΟΥΝ ΝΑ ΠΑΡΕΧΟΥΝ ΠΡΟΣΩΠΙΚΟ ΠΡΟΒΛΗΜΑ ΑΠΟ ΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ
  2. ΚΑΛΟΙ ΠΡΟΓΡΑΜΜΑΤΙΣΤΕΣ ΓΝΩΡΙΖΟΥΝ ΤΙ ΝΑ ΓΡΑΦΕΙΤΕ. Ο ΜΕΓΑΛΥΤΕΡΟΣ ΓΝΩΡΙΖΕΤΕ ΤΙ ΝΑ ΑΝΑΓΡΑΦΕΙΤΕ (ΚΑΙ ΞΕΧΟΥΣΕΤΕ).
  3. Σκεφτείτε για την απόρριψη τουλάχιστον ένα: θα καταλήξετε να το κάνετε ΟΠΟΙΑΔΗΠΟΤΕ. "
  4. ΑΝ ΕΧΕΤΕ ΤΗ ΣΩΣΤΗ ΠΡΟΣΟΧΗ, ΕΝΔΙΑΦΕΡΟΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ ΘΑ ΒΡΕΙΤΕ.
  5. ΟΤΑΝ ΕΝΑ ΠΡΟΓΡΑΜΜΑ ΔΕΝ ΕΙΝΑΙ ΠΕΡΙΣΣΟΤΕΡΟ ΕΝΔΙΑΦΕΡΟΝΤΑΙ, ΤΟ ΤΕΛΕΥΤΑΙΟ ΔΑΣΜΟ ΣΑΣ ΕΙΝΑΙ ΤΟ ΠΑΡΕΧΕΙ ΣΕ ΑΡΜΟΔΙΟ ΕΠΟΠΤΙΚΟ.
  6. Η ΕΠΕΞΕΡΓΑΣΙΑ ΤΩΝ ΧΡΗΣΤΩΝ ΣΑΣ ΣΕ ΣΥΝΕΡΓΑΣΤΕΣ ΕΙΝΑΙ Ο ΤΟΠΟΘΕΤΗΣΤΕ ΤΟ ΛΕΙΤΟΥΡΓΙΚΟΣ ΤΡΟΠΟΣ ΓΙΑ ΤΗ ΒΕΛΤΙΩΣΗ ΚΑΙ ΤΗΝ ΑΠΟΤΕΛΕΣΜΑΤΙΚΗ ΑΝΑΠΤΥΞΗ ΠΡΟΓΡΑΜΜΑΤΟΣ.
  7. ΔΕΛΤΙΖΕΙ ΤΩΡΑ. ΛΕΙΤΟΥΡΓΙΑ ΣΥΝΟΠΤΙΚΑ. ΚΑΙ ΑΚΟΥΣΤΕ ΤΟΥΣ ΧΡΗΣΤΕΣ ΣΑΣ.
  8. ΔΙΑΘΕΤΕΙ ΕΥΚΟΛΗ ΑΡΧΙΚΗ ΒΑΣΗ ΕΛΕΓΧΩΝ ΚΑΙ ΣΥΜΒΑΛΛΟΓΩΝ, ΠΕΡΙΣΣΟΤΕΡΑ ΟΛΑ ΤΑ ΠΡΟΒΛΗΜΑΤΑ ΠΡΕΠΕΙ ΝΑ ΑΝΑΓΝΩΡΙΖΟΝΤΑΙ ΓΡΗΓΟΡΑ ΚΑΙ Η ΛΥΣΗ ΤΟΥ ΘΑ ΕΙΝΑΙ ΑΠΟΦΥΓΗ ΣΕ ΚΑΘΕ.

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

Συμπεράσματα

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

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

  • ΕΝΟΤΗΤΑ ΑΔΕΙΑΣ ΧΡΗΣΤΗ ΜΕ Κωδικό πρόσβασης
  • ΕΝΟΤΗΤΑ ΑΝΙΧΝΕΥΣΗΣ ΤΗΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΤΟΥ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ
  • ΕΝΟΤΗΤΑ ΔΙΑΜΟΡΦΩΣΗΣ ΓΛΩΣΣΑΣ ΚΩΔ
  • ΕΝΟΤΗΤΑ ΔΙΑΜΟΡΦΩΣΗΣ PROXY ΓΙΑ ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΤΕΛΕΣΗΣ

Μεταξύ πολλών άλλων!

Και όπως πάντα, προτείνω πηγαίνετε να μάθετε με έναν αυτοδίδακτο τρόπο για τις εντολές: gksu, διάλογος, gxmessage, zenity, espeak, play, μεταξύ πολλών άλλων για τη δημιουργία γραφικών διεπαφών από το τερματικό ή για την επιφάνεια εργασίας του χρήστη, με ηχητικές ειδοποιήσεις ή ειδοποιήσεις πολυμέσωνκαι προωθήστε τη γνώση που θα χρησιμοποιήσουν αργότερα.

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

Ακριβώς για να τελειώσω σε αφήνω, α Screencast από εμένα, για να σας δείξω τι θα μπορούσατε να κάνετε, αφού ολοκληρώσετε αυτό Διαδικτυακό μάθημα Shell Scripting σε DesdeLinux:

LPI-SB8 Test ScreenCast

(LINUX POST INSTALL - BICENTENNIAL SCRIPT 8.0.0) - Μέρος 2


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.