Bygg ditt program steg för steg med hjälp av Shell Scripting - Del 4

I tidigare inlägg i denna publikationsserie kom vi ihåg hur man implementerar en:

Shell-skriptOch i tidigare, hur man implementerar en Shebang och en BSM (Bash Strict Mode / Strict Bash Mode).

Bästa metoder för att skapa ett Shell-skript i GNU / Linux - Del 1

Bästa metoder för att skapa ett Shell-skript i GNU / Linux - Del 2

Här är ett exempel på en Optimeringsmodul, som ett exempel på en av mina program (applikationer) fakta i en Skalskript kallade Linux Post Install - Bicentennial Script 8.0:

Detta bör vara modulen (avsnitt) att installera de baspaket som är nödvändiga för att den ska fungera korrekt, eller utföra de minsta åtgärder som krävs för att uppdatera, underhålla eller utföra arbetsmiljön eller operativsystemet så att allt fungerar tillfredsställande. Jag lägger personligen till följande rader för att skapa den här 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 kör den här modulen en aptitude-uppdateringföljt av installationen av paketen dialog gxmessage zenity speak gksufortsätter med kommandot aptitude install -f y dpkg –konfigurera -a. Och om och endast om allt har utförts tillfredsställande, a visuellt meddelande med terminal framgångsrikt slutfört med en ljudvarning och jag fortsatte med nästa steg (modul / avsnitt) i Skalskript. Annars, a visuellt meddelande med terminal misslyckad förverkligande med en ljudvarning, med en annan visuellt meddelande av terminal som rekommenderar manuella åtgärder som ska utföras för att undvika det fel som uppnås igen, och avsluta sedan körningen av Skalskript.

När det gäller de sista två raderna i modulen, de som börjar med wget-kommando, för nu är dessa inte nödvändiga, eftersom dessa är en del av en experimentell procedur anpassad av mig för att uppnå röststöd för a Skalskript med internetanslutning med hjälp av Online röstsynthesizer från Google Translate och hennes sensuella kvinnliga röstoch ersätt därmed synthesizer med robotröst (man / kvinna) tillhandahålls lokalt av GNU / Linux-operativsystemen med paketen (program) espeak, festival, festvox, mbrola, tal och stardict.

rekommendation:

LÄS DOKUMENTET: «KATEDRALEN OCH BASAREN»

Katedralen och basaren är ett slags manifest skapat av Eric S. Raymond År 1.998 att försöka förklara ur din synvinkel och personliga erfarenhet (Skapande av programmet fetchmail) vad han upplevde om framgångsrik skapande och utveckling av Linux och dess relaterade program, särskilt ur perspektivet på skillnaden mellan Programvaruutvecklingsmodeller, som han personligen kallade: Cathedral Model and Bazaar Model.

Min sammanfattningsanalys av det dokumentet är som följer:

Denna läsning föreslår eller presenterar den vision som finns inom Mjukvaruutveckling det finns ”två helt olika utvecklingsstilar, katedralmodell, som är tillämplig på de flesta av de utvecklingar som utförs i världen av Kommersiell programvara, framför basarmodell, mer typiskt för världen Linux ". Betonar att dessa två modeller härrör från motsatta utgångspunkter om karaktären av programfelsökningsprocessen och från hans speciella teori om vad han kallade Linus lag som uppgav följande: "Med tanke på ett tillräckligt antal ögon är alla fel irrelevanta" eller med andra ord: "Med ett tillräckligt antal ögon är alla misstag bagateller."

Även i denna läsning betonar författaren ordet hacker, som enligt min mening författaren uttryckte som ett slags Högnivåanvändare som effektivt kan förstå och utnyttja ett program och upptäcka, föreslå eller implementera korrigeringar eller modifieringar av effektiv form och substans för hela användargruppen. Jag gillade det här självföreslagna konceptet mycket eftersom jag tycker att det är korrekt, men jag kommer att lämna ett som jag också gillar mycket eftersom det är mycket mer globalt och / eller generiskt.

hacker"Linux är subversivt." Varför? Det första denna läsning säger är att:

Fram till dess fanns det en enorm mångfald av standardiserade programvaruutvecklingsmetoder eller modeller som baserades på en "Mer centraliserat och planerat tillvägagångssätt från början" som ett resultat av att konstruktionen av programvara har tagits som något relaterat till en faktor X som leder till ”Viss kritisk komplexitet”. Och det även om detta redan fanns i Unix-världenMed andra ord, arbete som består av små verktyg, snabb prototyputveckling och evolutionär programmering, utseendet på Free Software-utvecklingsfilosofin under Linux tog saken till en annan nivå av sofistikering.

Som ett resultat av detta, While Privat mjukvaruutveckling var gjord av "Tyst och vördnadsfullt sätt", när du bygger en Katedral, The Fri programvaruutveckling (Linux) gjordes av "livligt sätt och med flera dagordningar (vägar) och tillvägagångssätt (förslag) ", precis som du var i en stor Bazar.

Slutligen avslöjar det en serie lokaler som är värda att bryta ner och smälta i sitt rätta sammanhang för att förstå dem som utvecklas för gemenskapen av användare av fri programvara. Dessa lokaler är:

  1. ALLA BRA ARBETEN PÅ PROGRAMVARAN BÖRJAR FÖRSÖKA ATT VÄNLIGEN ETT PERSONLIGT PROBLEM FRÅN DU SCHEMA DIG.
  2. BRA PROGRAMMERARE VET VAD SKRIVS. DEN STÖRSTA VETEN VAD DU SKRIVER OM (OCH ÅTERANVÄNDA).
  3. TÄNK OM ATT KASSERA MINSTE: Du kommer att sluta göra det när som helst.
  4. OM DU HAR RÄTT ATTITUDE FUNNER intressanta problem dig.
  5. NÄR ETT PROGRAM INTE LÄNGRE intresserar dig, ÄR DIN SISTA PLIKT ATT ÖVERFÖRA DET TILL EN KOMPETENT FRÅGARE.
  6. ATT BEHANDLA DINA ANVÄNDARE SOM SAMARBETSÄGARE ÄR DEN MINSTE KOMPLICERADE VÄGEN FÖR ATT RASKT FÖRBÄTTRA OCH EFFEKTIVT FELLA ETT PROGRAM
  7. SLÄPP DET SNART. LANSERA DET OFTA. OCH lyssna på dina användare.
  8. GIVER EN BRED TILLGÄNGLIG BAS AV TESTARE OCH SAMARBETARE, NÄSTA ALLA PROBLEM KAN IDENTIFIERAS SNABBT OCH DERES LÖSNING KOMMER ÖVERSIKT FÖR NÅGON.

Plus andra 11 återstående lokaler som är mer av den nykterande typen (moralisk), som inte kommer med historien utan med vad som tolkas av var och en läsare (utvecklare), vilket i mitt mycket speciella fall ledde mig till följande slutsatser:

SlutsatserJag hoppas att du gillade den här informationen och den är användbar sedan Läsningen av katedralen och basaren är en obligatorisk referens för alla dem som programmerar någon utveckling inom fri programvara, oavsett hur stor eller liten.

Senare, i framtida inlägg kommer vi att fortsätta se ett exempel på moduler (sektioner) som utför funktioner som:

  • ANVÄNDARGODKÄNNANDEMODUL MED LÖSENORD
  • DETEKTIONSMODUL FÖR ARKITEKTUREN FÖR DRIFTSYSTEMET
  • KODNINGSSPRÅKKONFIGURERINGSMODUL
  • NÄRKONFIGURATIONSMODUL FÖR UTFÖRINGSMILJÖ

Bland många andra!

Och som alltid rekommenderar jag lära sig på ett självlärt sätt om kommandona: gksu, dialog, gxmessage, zenity, espeak, play, bland många andra för att skapa grafiska gränssnitt via Terminal eller för användarens skrivbord, med ljud- eller multimediavarningar, och främja kunskap som de kommer att använda senare.

Kom ihåg att dessa och andra rekommendationer på vissa modul, funktion, variabel, kommando eller åtgärd i allmänhet kan det genomföras många sätt, och det som visas här är bara ett enkel väg, av många möjliga och troliga sätt där sagt åtgärder kan eller kan genomföras!

Bara för att avsluta lämnar jag dig, a Screencast gjord av mig, för att visa dig vad du skulle kunna efter att ha avslutat detta Onlinekurs i Shell Scripting i DesdeLinux:

LPI-SB8 Test ScreenCast

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


Innehållet i artikeln följer våra principer om redaktionell etik. Klicka på för att rapportera ett fel här.

Bli först att kommentera

Lämna din kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade med *

*

*

  1. Ansvarig för uppgifterna: Miguel Ángel Gatón
  2. Syftet med uppgifterna: Kontrollera skräppost, kommentarhantering.
  3. Legitimering: Ditt samtycke
  4. Kommunikation av uppgifterna: Uppgifterna kommer inte att kommuniceras till tredje part förutom enligt laglig skyldighet.
  5. Datalagring: databas värd för Occentus Networks (EU)
  6. Rättigheter: När som helst kan du begränsa, återställa och radera din information.