Bygg programmet trinn for trinn ved å bruke Shell Scripting - Del 4

I tidligere oppføringer i denne publikasjonsserien husket vi hvordan vi implementerer en:

Shell-skripting

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

Beste fremgangsmåter for å lage et Shell Script i GNU / Linux - Del 1

Beste fremgangsmåter for å lage et Shell Script i GNU / Linux - Del 2

Her er et eksempel på en Optimaliseringsmodul, tar som et eksempel en av mine programmer (applikasjoner) fakta i en Shell-skript kalt Linux Post Install - Bicentennial Script 8.0:

Dette skal være modulen (seksjon) å installere basepakkene som er nødvendige for at den skal fungere riktig, eller utføre de minste handlingene som er nødvendige for oppdatering, vedlikehold eller ytelse av arbeidsmiljøet eller operativsystemet, slik at alt går tilfredsstillende. Jeg legger personlig til følgende linjer for å lage denne modulen:


###############################################################################
# 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, kjører denne modulen en evneoppdatering, etterfulgt av installasjon av pakkene dialog gxmessage zenity speak gksu, fortsetter med kommandobestillingene aptitude install -f y dpkg –konfigurer -a. Og i tilfelle hvis og bare hvis alt er utført tilfredsstillende, a visuell melding med terminal vellykket gjennomføring med en lydvarsling og jeg fortsatte med neste trinn (modul / del) av Shell-skript. Ellers kan en visuell melding med terminal av mislykket realisering med en lydvarsling, med en annen visuell melding ved terminal som anbefaler manuelle handlinger for å utføre for å unngå feilen oppnådd igjen, og fullfør deretter utførelsen av Shell-skript.

Angående de to siste linjene i modulen, de som begynner med wget-kommando, for nå er disse ikke essensielle, da disse er en del av en Eksperimentell prosedyre tilpasset av meg for å oppnå stemmestøtte av en Shell-skript med internettforbindelse ved hjelp av Online talesynthesizer fra Google Translate og hennes sensuelle kvinnestemme, og dermed erstatte synthesizer med robotstemme (mann / kvinne) levert lokalt av GNU / Linux-operativsystemene med pakkene (programmene) espeak, festival, festvox, mbrola, tale og stardict.

anbefaling:

LES DOKUMENTET: «KATEDRALEN OG BASAREN»

Katedralen og basaren er et slags manifest opprettet av Eric S Raymond i året 1.998 å prøve å forklare fra ditt synspunkt og personlige erfaring (Opprettelse av programmet hentemail) hva han oppfattet om vellykket opprettelse og utvikling av Linux og dets relaterte programmer, spesielt fra perspektivet til forskjellen mellom Programvareutviklingsmodeller, som han personlig kalte: Cathedral Model and Bazaar Model.

Min sammendragsanalyse av dette dokumentet er som følger:

Denne lesingen antyder eller presenterer den visjonen som finnes i verden av Programvareutvikling det er “to helt forskjellige utviklingsstiler, katedralmodell, gjeldende for de fleste av utviklingen utført i verden av Kommersiell programvare, foran basarmodell, mer typisk for verden Linux ". Understreker at disse to modellene er avledet fra motsatte utgangspunkt om naturen til programvarefeilingsprosessen, og fra hans spesielle teori om det han kalte Linus lov som uttalte følgende: "Gitt et tilstrekkelig antall øyne, er alle feil irrelevante" eller med andre ord: "Med et tilstrekkelig antall øyne er alle feil småtterier."

Også i denne lesingen understreker forfatteren ordet hacker, som etter min mening forfatteren uttrykte som en slags Bruker på høyt nivå som er i stand til effektivt å forstå og utnytte et program, og til å oppdage, foreslå eller implementere rettelser eller modifikasjoner av effektiv form og substans for hele brukerfellesskapet. Jeg likte dette selv-foreslåtte konseptet mye siden jeg synes det er riktig, men jeg vil legge igjen en som jeg også liker mye fordi det er mye mer globalt og / eller generisk.

hacker

"Linux er subversivt." Hvorfor? Det første denne lesingen forteller oss er at:

Inntil da var det et stort mangfold av standardiserte programvareutviklingsmetoder eller modeller som var basert på en "Mer sentralisert og planlagt tilnærming fra starten" som et resultat av at handlingen med å designe programvare ble tatt som noe relatert til en faktor X som fører til "Noe kritisk kompleksitet." Og det til tross for at dette allerede eksisterte i Unix verdenMed andre ord, arbeid bestående av små verktøy, rask utvikling av prototype og evolusjonær programmering, utseendet til Free Software-utviklingsfilosofien under Linux tok saken til et annet nivå av raffinement.

Som et resultat av dette, While Privat programvareutvikling var laget av "Stille og ærbødig måte", mens du bygger en Katedral, The Gratis programvareutvikling (Linux) var laget av "yrende måte og med flere dagsordener (stier) og tilnærminger (forslag) ", akkurat som du var i en flott Bazar.

Til slutt avslører den en rekke lokaler som er verdt å bryte ned og fordøye i riktig sammenheng for å forstå de som utvikler seg for fellesskapet av brukere av fri programvare. Disse premissene er:

  1. ALLE GODE JOBB I PROGRAMVAREN PRØVER Å VENNLIGST ET PERSONLIGT PROBLEM FRA DET DU PLANLEGGER DEM.
  2. GODE PROGRAMMERERE VET HVA DE SKRIVER. DEN STØRSTE VET HVA DU SKRIVER (OG GJENBRUKER).
  3. Tenk på å kaste minst en: Du vil avslutte med å gjøre det uansett. "
  4. HVIS DU HAR RIKTIG HOLDNING, FINNER INTERESSANTE PROBLEMER DEG.
  5. NÅR ET PROGRAM IKKE LENGERE INTERESSERER DEG, ER DEN SISTE PLIKTEN Å PASSERE DET TIL EN KOMPETENT ERFØLGER.
  6. Å BEHANDLE DINE BRUKERE SOM SAMARBEIDERE ER DEN MINSTE KOMPLISERTE MÅTEN FOR RASKT Å FORBEDRE OG EFFEKTIVT FJERNE ET PROGRAM.
  7. SLIPP DET SNART. LANSER DET OFTE. OG Hør på brukerne dine.
  8. GJØRT EN BRED GOD BASE AV TESTERE OG BIDRAGERE, NESTEN ALLE PROBLEMER VIL IDENTIFISERES RASKT OG LØSNINGENE VIL VÆRE OVIEV FOR NOEN.

Pluss 11 andre gjenværende lokaler som er mer av den nøkterne typen (moralsk), som ikke følger med historien, men med det som tolkes av hver leser (utvikler), som i mitt helt spesielle tilfelle førte meg til følgende konklusjoner:

Konklusjoner

Jeg håper du likte denne informasjonen, og den er nyttig siden Lesing av katedralen og basaren er en obligatorisk referanse for alle de som programmerer fri programvareutvikling, uansett hvor stor eller liten.

Senere, i fremtidige innlegg, vil vi fortsette å se et eksempel på moduler (seksjoner) som utfører funksjoner som:

  • BRUKERautorisasjonsmodul med passord
  • MODUL FOR OPPDAGELSE AV ARKITEKTUREN FOR BETJENINGSSYSTEMET
  • KODERING SPRÅKKONFIGURASJONSMODUL
  • PROXY-KONFIGURASJONSMODUL FOR UTFØRINGSMILJØET

Blant mange andre!

Og som alltid, anbefaler jeg gå læring på en selvlært måte om kommandoene: gksu, dialog, gxmessage, zenity, espeak, play, blant mange andre for å lage grafiske grensesnitt ved Terminal eller for brukerens skrivebord, med lyd- eller multimediavarsler, og fremme kunnskap som de vil bruke senere.

Husk at disse og andre anbefalinger på noen modul, funksjon, variabel, kommando eller handling generelt kan det utføres mange måter, og det som vises her er bare ett enkel måteav mange mulige og sannsynlige måter der sagt handling kan eller kan utføres!

Bare for å fullføre forlater jeg deg, a Screencast laget av meg, for å vise deg hva du ville være i stand til etter å ha fullført dette Shell Scripting nettkurs i DesdeLinux:

LPI-SB8 Test ScreenCast

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


Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.