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

I tidigare inlägg i den här publikationsserien kom vi ihåg hur man implementerar en:

Shell-skript

Och 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 de ska fungera korrekt, eller att utföra de minsta nödvändiga åtgärderna för uppdatering, underhåll eller prestanda av arbetsmiljön eller operativsystemet så att allt sedan 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 denna modul en aptitude-uppdatering, följt av installationen av paketen dialog gxmessage zenity speak gksu, fortsätter med kommandoorder aptitude install -f y dpkg –konfigurera -a. Och om och bara om allt har utförts på ett tillfredsställande sätt, a visuellt meddelande med terminal framgångsrik implementering med en sonisk alert och fortsatte med nästa steg (modul/sektion) av Skalskript. Utför annars en visuellt meddelande med terminal av misslyckat förverkligande med en sonisk alert, med en annan visuellt meddelande per terminal som rekommenderar manuella åtgärder som ska utföras för att undvika att felet uppstår igen, och avsluta sedan utförandet av Skalskript.

Angående de två sista raderna i modulen, de som börjar med wget-kommando, för närvarande är dessa inte väsentliga, eftersom dessa är en del av en experimentell procedur anpassad av mig för att uppnå röststöd av en Skalskript med internetanslutning med hjälp av Google Translate online röstsyntes och dess sensuella kvinnliga röst, och därmed ersätta synthesizer med robotröst (man/kvinna) tillhandahålls lokalt av GNU/Linux operativsystem med paketen (programmen) espeak, festival, festvox, mbrola, speech och stardict.

rekommendation:

LÄS DOKUMENTET: "KATEDRALEN OCH BASAREN"

Katedralen och basaren Det är ett slags manifest skapat av Eric S. Raymond År 1.998 att försöka förklara från din synvinkel och personliga erfarenhet (Skapandet av programmet fetchmail) vad han uppfattade om det framgångsrika skapandet och utvecklingen av Linux och dess relaterade program, särskilt ur perspektivet av skillnaden mellan Modeller för mjukvaruutveckling, som han personligen kallade: Katedralmodell och basarmodell.

Min sammanfattande analys av nämnda dokument är följande:

Denna läsning föreslår eller presenterar oss med den vision som inom världen av Mjukvaruutveckling Det finns "två helt olika utvecklingsstilar, den katedralmodell, tillämplig på de flesta utvecklingar som genomförs i världen av Kommersiell programvara, framför basarmodell, mer typiskt för världen "Linux". Understryker att dessa två modeller är härledda från motsatta utgångspunkter på arten av mjukvarufelsökningsprocessen och från hans speciella teori om vad han kallade Linus lag som angav följande: "Med ett tillräckligt antal ögon är alla fel irrelevanta." eller med andra ord: "Med tillräckligt med ögon är alla misstag ingenting."

Även i denna läsning betonar författaren ordet hacker, vilket i min förståelse författaren uttryckte som ett slags Högnivåanvändare som kan förstå och effektivt utnyttja ett program, och att upptäcka, föreslå eller implementera korrigeringar eller modifieringar av form och innehåll effektivt för hela användargemenskapen.. Jag gillade verkligen detta självföresloga koncept eftersom jag tror att det är korrekt, men jag kommer att lämna ett som jag också verkligen gillar eftersom det är mycket mer globalt och/eller generiskt.

hacker

"Linux är subversivt." Därför att? Det första denna läsning säger oss är att:

Fram till dess fanns det en enorm mångfald av standardiserade mjukvaruutvecklingsmetoder eller modeller som var baserade på en "mer centraliserat och planerat tillvägagångssätt från början" som ett resultat av det faktum att handlingen att designa programvara togs som något relaterat till en faktor X som leder till "en viss kritisk komplexitet." Och även om detta redan fanns i Unix värld, det vill säga arbete bestående av små verktyg, snabb utveckling av prototyper och evolutionär programmering, uppkomsten av utvecklingsfilosofin för fri programvara under Linux tog saken till en annan nivå av sofistikering.

Som ett resultat av detta, medan Proprietär mjukvaruutveckling var gjord av "tyst och vördnadsfullt sätt", precis som man bygger en Katedral, The Fri mjukvaruutveckling (Linux) den var gjord av "livlig väg och med flera agendor (vägar) och tillvägagångssätt (förslag)”, precis som om du var i en stor Bazar.

Slutligen avslöjar den en rad lokaler värda att bryta ner och smälta i sitt rätta sammanhang för att förstå dem som utvecklar för Community of Free Software-användare. Dessa lokaler är:

  1. ALLT GOTT ARBETE I PROGRAMVARAN BÖRJAR MED ATT FÖRSÖKA ATT LÄNDA ETT PERSONLIGT PROBLEM MED PROGRAMMEREN.
  2. BRA PROGRAMMERARE VET VAD SKA SKRIVA. DET STORA FOLKET VET VAD SKRIVA OM (OCH ÅTERANVÄNDAS).
  3. TÄNKA PÅ ATT KASSA MINST EN: DU KOMMER ATT GÖRA DET I alla fall.”
  4. OM DU HAR RÄTT INSTÄLLNING FINNS DIG INTRESSANTA PROBLEM.
  5. NÄR ETT PROGRAM FÖRLÖR ATT INTRESSA DIG, ÄR DIN SISTA PLIKT ATT GÄLLA DET VIDARE TILL EN KOMPETENS EFTERFÖLJARE.
  6. ATT BEHANDLA DINA ANVÄNDARE SOM SAMARBETE ÄR DET MINN KOMPLICERADE SÄTTET ATT SNABBT FÖRBÄTTRA OCH EFFEKTIVT FELSÖKA ETT PROGRAM.
  7. SLÄPP DEN SNART. LANSERA DET OFTA. OCH LYSSNA PÅ DINA ANVÄNDARE.
  8. GITT EN TILLRÄCKLIG BAS AV TESTARE OCH SAMARBETE, KOMMER NÄSTAN ALLA PROBLEM ATT IDENTIFIERAS SNABBT OCH DERAS LÖSNING KOMMER ATT VARA UPPELIG FÖR NÅGON.

Plus 11 andra lokaler som är mer av den nyktra (moraliska) typen., som inte följer med berättelsen utan med vad som tolkas av var och en läsare (utvecklare), vilket i mitt mycket speciella fall ledde mig till följande slutsatser:

Slutsatser

Jag hoppas att du gillade det och tyckte att denna information var användbar, sedan Att läsa The Cathedral and the Bazaar är en obligatorisk referens för alla oss som programmerar fri mjukvaruutveckling, 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 Shell Scripting onlinekurs i DesdeLinux:

LPI-SB8 Test ScreenCast

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


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.