Zgradite svoj program korak za korakom s pomočjo skriptov lupine - 4. del

V prejšnjih prispevkih v tej seriji publikacij smo spomnili, kako uporabiti:

Shell Scripting

In v prejšnjih, kako uporabiti a Shebang in BSM (Bash Strict Mode / Strict Bash Mode).

Najboljše prakse za ustvarjanje skripta lupine v GNU / Linux - 1. del

Najboljše prakse za ustvarjanje skripta lupine v GNU / Linux - 2. del

Tu je primer a Optimizacijski modul, za primer vzamem enega od mojih programi (aplikacije) dejstva v a Shell scenarij imenuje Linux Post Install - Bicentennial Script 8.0:

To bi moral biti modul (odsek) namestiti osnovne pakete, potrebne za pravilno delovanje istih, ali izvesti minimalne ukrepe, potrebne za posodobitev, vzdrževanje ali izvajanje delovnega okolja ali operacijskega sistema, tako da vse deluje zadovoljivo. Za ustvarjanje tega modula osebno dodam naslednje vrstice:


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

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

Kot lahko vidite, ta modul izvaja a posodobitev sposobnosti, čemur sledi namestitev paketov pogovorno okno gxmessage zenity espeak gksu, nadaljuje z ukaznimi ukazi aptitude namestite -f y dpkg –konfiguriraj -a. In v primeru, če in samo, če je bilo vse izvedeno zadovoljivo, a vizualno sporočilo s terminalom uspešnega zaključka z a zvočno opozorilo in nadaljeval sem z naslednjim korakom (modul / odsek) Shell scenarij. V nasprotnem primeru a vizualno sporočilo s terminalom neuspešne realizacije z a zvočno opozorilo, z drugo vizualno sporočilo terminala, ki priporoča ročna dejanja, da bi se izognili znova doseženi napaki, in nato dokončajte izvajanje Shell scenarij.

Glede zadnjih 2 vrstic modula, tiste, ki se začnejo z ukaz wget, za zdaj ti niso bistveni, saj so del a eksperimentalni postopek prilagodila za dosego glasovne podpore Shell scenarij z internetno povezavo z uporabo Spletni sintetizator glasu od Google Translate in njen čutni ženski glas, in tako nadomestite sintetizator z robotskim glasom (moški / ženske) lokalno zagotavljajo GNU / Linux operacijski sistemi s paketi (programi) espeak, festival, festvox, mbrola, govor in razsodba.

Priporočilo:

PREBERITE DOKUMENT: «KATEDRALA IN BAZAR»

Katedrala in bazar je neke vrste manifest, ki ga je ustvaril Eric S Raymond v letu 1.998 poskusiti razložiti s svojega stališča in osebnih izkušenj (Ustvarjanje programa fetchmail) kaj je zaznal o uspešnem ustvarjanju in razvoju Linuxa in z njim povezanih programov, zlasti z vidika razlike med Modeli za razvoj programske opreme, ki ga je osebno poklical: Model stolnice in model bazarja.

Moja zbirna analiza tega dokumenta je naslednja:

To branje nakazuje ali predstavlja vizijo, ki jo ima svet v svetu Programsko inženirstvo obstajata "dva popolnoma različna načina razvoja, model stolnice, ki velja za večino dogajanj v svetu Komercialna programska oprema, pred model bazarja, bolj značilen za svet Linux ". Poudarja, da ta dva modela izhajata iz nasprotnih izhodišč o naravi postopka odpravljanja napak v programski opremi in iz njegove posebne teorije o tem, kar je imenoval Linusov zakon ki je navedel naslednje: "Glede na zadostno število oči so vse napake nepomembne." ali z drugimi besedami: "Z zadostnim številom oči so vse napake malenkosti."

Tudi v tem branju avtor poudarja besedo hacker, ki jo je avtor po mojem mnenju izrazil kot neke vrste Uporabnik na visoki ravni, ki je sposoben razumeti in učinkovito izkoristiti program ter zaznati, predlagati ali izvesti popravke ali spremembe učinkovite oblike in vsebine za celotno skupnost uporabnikov. Ta samo predlagani koncept mi ​​je bil zelo všeč, ker se mi zdi pravilen, vendar bom pustil tistega, ki mi je tudi zelo všeč, ker je veliko bolj splošen in / ali splošen.

hacker

"Linux je subverziven." Zakaj? Prvo, kar nam pove to branje, je, da:

Do takrat je obstajala velika raznolikost standardiziranih metod ali modelov za razvoj programske opreme, ki so temeljile na "Bolj centraliziran in načrtovan pristop od začetka" kot rezultat oblikovanja programske opreme, ki se jemlje kot nekaj, kar je povezano z a X faktor ki vodi do "Nekaj ​​kritične zapletenosti". In to kljub temu, da je to že obstajalo v Unixov svetZ drugimi besedami, delo, sestavljeno iz majhnih orodij, hitre izdelave prototipov in evolucijskega programiranja, pojav filozofije razvoja proste programske opreme pod Linuxom je zadevo dvignilo na drugo stopnjo dovršenosti.

Kot rezultat tega, medtem ko Zasebni razvoj programske opreme je bila narejena iz "Tiha in spoštljiva pot", ko gradite a Catedralje Razvoj proste programske opreme (Linux) je bil narejen iz "živahno in z različnimi dnevnimi redi (poti) in pristopi (predlogi) ", tako kot ste bili v super Bazar.

Na koncu razkriva vrsto prostorov, ki jih je vredno razgraditi in prebaviti v njihovem ustreznem kontekstu, da bi razumeli tiste, ki razvijajo za Skupnost uporabnikov brezplačne programske opreme. Ti prostori so:

  1. VSE DOBRA DELOVNA SREDSTVA V PROGRAMSKI OPREMI ZAČNIJO POSKUSITI OSEBNI PROBLEM, IZ KATEREGA JIH NAROČITE.
  2. DOBRI PROGRAMATERJI VEDEJO, KAJ PISATI. NAJBOLJŠE VEDE, KAJ PREPISATI (IN PONOVNO UPORABITI)
  3. RAZMISLITE, DA BI MENJALO IZBACITEV: TAKO KAKO BOSTE KONČALI. "
  4. ČE IMATE PRAVI ODNOS, ZNAMI ZANIMIVI PROBLEMI.
  5. KO VAS PROGRAM VEČ NE ZANIMA, LAHKO ZADNJA NALOGA PREDSTAVI NJEGU PRISTOJNEMU NASLEDNIKU.
  6. OBDELAVA VAŠIH UPORABNIKOV KOT SODELOVALCEV JE MANJ ZAPLETEN NAČIN ZA HITRO IZBOLJŠANJE IN UČINKOVITO PRIPRAVLJANJE PROGRAMA.
  7. SPUSTITE Kmalu. ZAČNITE TO POGOJ. IN POSLUŠAJTE VAŠE UPORABNIKE.
  8. DAVLJENI ŠIROKO OSNOVO TESTERJEV IN PRISPEVKOV, BODO VKLJUČNO VSE VSE PROBLEME HITRO IDENTIRANI, NJEGOVA REŠITEV BODO KI OZNA.

Plus ostalih 11 preostalih prostorov, ki so bolj streznitvenega (moralnega), ki ne prihaja z zgodbo, ampak s tem, kar si vsak razlaga bralnik (razvijalec), ki me je v mojem zelo konkretnem primeru pripeljal do naslednjih zaključkov:

Sklepi

Upam, da vam je bila všeč in da so te informacije koristne, saj Branje katedrale in bazarja je obvezna referenca za vse tiste, ki programirajo kakršen koli razvoj v prosti programski opremi, ne glede na to, ali je velik ali majhen.

Kasneje bomo v prihodnjih objavah še naprej videli primer moduli (odseki) ki opravljajo funkcije, kot so:

  • MODUL DOVOLJENJA ZA UPORABNIKA Z GESLO
  • MODUL ODKRIVANJA ARHITEKTURE OPERATIVNEGA SISTEMA
  • KODIRANJE MODULA KONFIGURACIJE JEZIKA
  • MODUL KONFIGURACIJE PROXY ZA IZVRŠILNO OKOLJE

Med mnogimi drugimi!

In kot vedno priporočam pojdite se učiti na samouk o ukazih: gksu, pogovorno okno, gxmessage, zenity, espeak, play, med mnogimi drugimi za ustvarjanje grafičnih vmesnikov prek terminala ali uporabniškega namizja z zvočnimi ali večpredstavnostnimi opozoriliin pospešijo znanje, ki ga bodo uporabili kasneje.

Ne pozabite, da ta in katera koli druga priporočila za nekatere modul, funkcija, spremenljivka, ukaz ali dejanje na splošno se lahko izvede dosti načinov, in to, kar je prikazano tukaj, je samo eno preprost način, od veliko možnih in verjetnih načinov v katerem je rekel lahko ali bi se lahko izvedlo!

Za konec vas zapuščam, a Screencast, ki sem ga naredil jaz, da vam po tem, kar ste končali, pokažete, česa bi bili sposobni Shell Scripting spletni tečaj v DesdeLinux:

LPI-SB8 Test ScreenCast

(LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0) - 2. del


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.