Byg dit program trin for trin ved hjælp af Shell Scripting - Del 4

I tidligere poster i denne serie publikationer mindede vi om, hvordan man implementerer en:

Shell Scripting

Og i tidligere, hvordan man implementerer en Shebang og en BSM (Bash Strict Mode / Strict Bash Mode).

Bedste fremgangsmåder til oprettelse af et Shell-script i GNU / Linux - del 1

Bedste fremgangsmåder til oprettelse af et Shell-script i GNU / Linux - del 2

Her er et eksempel på en Optimeringsmodultager et eksempel på en af ​​mine programmer (applikationer) fakta i en Shell-script kaldet Linux Post Install - Bicentennial Script 8.0:

Dette skal være modulet (afsnit) at installere de basapakker, der er nødvendige for, at den samme fungerer korrekt, eller udføre de nødvendige minimale handlinger for at opdatere, vedligeholde eller udføre arbejdsmiljøet eller operativsystemet, så alt fungerer tilfredsstillende. Jeg tilføjer personligt følgende linjer for at oprette dette modul:


###############################################################################
# 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               
###############################################################################

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

Som du kan se, kører dette modul en aptitude-opdateringefterfulgt af installationen af ​​pakkerne dialog gxmessage zenity speak gksufortsætter med kommandobestillingerne egnethed installere -f y dpkg –konfigurer -a. Og i tilfælde, hvis og kun hvis alt er udført tilfredsstillende, a visuel besked med terminal af vellykket afslutning med en lydalarm og jeg fortsatte med det næste trin (modul / afsnit) i Shell-script. Ellers a visuel besked med terminal mislykket realisering med en lydalarm, med en anden visuel besked fra terminal, der anbefaler manuelle handlinger, der skal udføres for at undgå den fejl, der er opnået igen, og afslut derefter udførelsen af Shell-script.

Med hensyn til de sidste 2 linjer i modulet, dem der starter med wget-kommando, for nu er disse ikke væsentlige, da disse er en del af en eksperimentel procedure tilpasset af mig til at opnå stemmestøtte af en Shell-script med internetforbindelse ved hjælp af Online stemmesynthesizer fra Google Translate og hendes sensuelle kvindelige stemme, og udskift således synthesizer med robotstemme (mand / kvinde) leveret lokalt af GNU / Linux-operativsystemerne med pakkerne (programmerne) espeak, festival, festvox, mbrola, tale og stardict.

anbefaling:

LÆS DOKUMENTET: «KATEDRALEN OG BASAREN»

Katedralen og basaren er en slags manifest oprettet af Eric S Raymond i året 1.998 at forsøge at forklare fra dit synspunkt og din personlige erfaring (Oprettelse af programmet fetchmail) hvad han opfattede om den vellykkede oprettelse og udvikling af Linux og dets relaterede programmer, især ud fra perspektivet af forskellen mellem Softwareudviklingsmodeller, som han personligt kaldte: Cathedral Model og Bazaar Model.

Min resuméanalyse af dette dokument er som følger:

Denne læsning antyder eller præsenterer den vision, der findes inden for Software Engineering der er “to helt forskellige udviklingsstile, katedral model, der gælder for de fleste af de udviklinger, der udføres i verden af Kommerciel software, foran basar model, mere typisk for verden Linux ". Understreger, at disse 2 modeller stammer fra modsatte startpunkter om arten af ​​softwarefejlfindingsprocessen og fra hans særlige teori om, hvad han kaldte Linus's lov der anførte følgende: "Med et tilstrækkeligt antal øjne er alle fejl irrelevante" eller med andre ord: "Med et tilstrækkeligt antal øjne er alle fejl bagateller."

Også i denne læsning understreger forfatteren ordet hacker, som efter min mening forfatteren udtrykte som en slags Bruger på højt niveau, der er i stand til at forstå og effektivt udnytte et program og til at opdage, foreslå eller implementere rettelser eller ændringer i effektiv form og substans for hele brugerfællesskabet. Jeg kunne godt lide dette selv-foreslåede koncept, da jeg synes det er korrekt, men jeg vil efterlade et, som jeg også kan lide meget, fordi det er meget mere globalt og / eller generisk.

hacker

"Linux er subversivt." Hvorfor? Den første ting denne læsning fortæller os er, at:

Indtil da var der en enorm mangfoldighed af standardiserede softwareudviklingsmetoder eller modeller, der var baseret på en "Mere centraliseret og planlagt tilgang fra starten" som et resultat af handlingen med at designe software betragtes som noget relateret til en faktor X det fører til “Noget kritisk kompleksitet”. Og det selvom dette allerede eksisterede i Unix verdenMed andre ord, arbejde bestående af små værktøjer, hurtig prototypeudvikling og evolutionær programmering, fremkomsten af ​​Free Software-udviklingsfilosofien under Linux, førte sagen til et andet niveau af sofistikering.

Som et resultat af dette, Mens Privat softwareudvikling var lavet af "Stille og ærbødig måde", når du bygger en Katedral, The Gratis softwareudvikling (Linux) var lavet af "travl måde og med flere dagsordener (stier) og tilgange (forslag) ", ligesom du var i en stor Bazar.

Endelig udsætter den en række lokaler, der er værd at nedbryde og fordøje i deres rette sammenhæng for at forstå dem, der udvikler sig til Fællesskabet af fri software-brugere. Disse lokaler er:

  1. ALLE GODE JOB I SOFTWARE BEGYNDER AT PRØVE AT PLEASE ET PERSONLIGT PROBLEM, FRA DER DU PLANLÆGGER DEM.
  2. GODE PROGRAMMERERE VID HVAD SKAL SKRIVES. DET STØRSTE VID, HVAD DU SKAL OMDRIVE (OG GENBRUGE).
  3. Tænk på at kaste mindst en: Du vil ende med at gøre det på nogen måde. "
  4. HVIS DU HAR DEN RETTE HOLDNING, FINDER DU INTERESSANTE PROBLEMER.
  5. NÅR ET PROGRAM IKKE LENGERE INTERESSERER DIG, ER DIN SIDSTE Pligt at videregive det til en kompetent efterfølger.
  6. BEHANDLING AF DINE BRUGERE SOM SAMARBEJDERE ER DEN MINDRE KOMPLICEREDE MÅDE FOR HURTIGT FORBEDRING OG EFFEKTIVT FJERNE ET PROGRAM.
  7. SLIP DET SNART. LANSER DEN OFTE. OG LYT TIL DINE BRUGERE.
  8. GIVET EN BREDT GENEREL BASE AF TESTERE OG BIDRAGERE, Næsten ALLE PROBLEMER VÆRE IDENTIFICERET HURTIG, OG DERES LØSNING VIL VÆRE OVIEV FOR ENGEN.

Plus andre 11 resterende lokaler, der er mere af den soberende type (moralsk), som ikke følger med historien, men med hvad der fortolkes af hver læser (udvikler), som i mit meget særlige tilfælde førte mig til følgende konklusioner:

konklusioner

Jeg håber, du kunne lide disse oplysninger, og de er nyttige siden Læsning af katedralen og basaren er en obligatorisk reference for alle dem, der programmerer enhver udvikling inden for fri software, uanset hvor stor eller lille.

Senere vil vi i fremtidige stillinger fortsætte med at se et eksempel på moduler (sektioner) der udfører funktioner såsom:

  • BRUGERGODKENDELSESMODUL MED ADGANGSORD
  • MODUL TIL DETEKTION AF ARKITEKTUREN FOR BETJENINGSSYSTEMET
  • KODERINGSPROGKONFIGURATIONSMODUL
  • PROXY-KONFIGURATIONSMODUL TIL UDFØRELSESMILJØET

Blandt mange andre!

Og som altid anbefaler jeg gå læring på en selvlært måde om kommandoerne: gksu, dialog, gxmessage, zenity, espeak, play, blandt mange andre at oprette grafiske grænseflader via Terminal eller til brugerens skrivebord med lyd- eller multimediealarmer, og fremme viden, som de vil bruge senere.

Husk, at disse og andre anbefalinger om nogle modul, funktion, variabel, kommando eller handling generelt kan det udføres mange måder, og det, der vises her, er intet andet end en enkel måde, af mange mulige og sandsynlige måder i hvilket sagt handling kan eller kunne udføres!

Bare for at afslutte forlader jeg dig, a Screencast lavet af mig, for at vise dig, hvad du ville være i stand til, når du er færdig med dette Shell Scripting online kursus i DesdeLinux:

LPI-SB8 Test ScreenCast

(LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0) - Del 2


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.