Izgradite svoj program korak po korak koristeći Shell skriptiranje - Dio 4

U prethodnim unosima u ovoj seriji publikacija podsjetili smo kako primijeniti:

Shell skriptiranje

A u prethodnim, kako implementirati a Shebang i BSM (Bash Strict Mode / Strict Bash Mode).

Najbolje prakse za stvaranje skripte ljuske u GNU / Linux - 1. dio

Najbolje prakse za stvaranje skripte ljuske u GNU / Linux - 2. dio

Evo primjera a Modul za optimizaciju, uzimajući za primjer jedan moj programi (aplikacije) činjenice u a Shell script pozvana Linux Post Install - Bicentennial Script 8.0:

Ovo bi trebao biti modul (odjeljak) instalirati osnovne pakete potrebne za pravilno funkcioniranje istih ili izvršiti minimalne radnje potrebne za ažuriranje, održavanje ili izvođenje radnog okruženja ili operativnog sistema tako da sve radi zadovoljavajuće. Lično dodajem sljedeće redove za stvaranje ovog modula:


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

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

Kao što vidite, ovaj modul pokreće a ažuriranje sposobnosti, nakon čega slijedi instalacija paketa dijalog gxmessage zenity espeak gksu, nastavljajući sa naredbama naredbi aptitude install -f y dpkg –konfiguracija -a. I u slučaju da je i samo ako je sve izvedeno na zadovoljavajući način, a vizuelna poruka terminalom uspješnog završetka sa a zvučna uzbuna i nastavio sam sa sljedećim korakom (modul / odjeljak) Shell script. Inače, a vizuelna poruka terminalom neuspješne realizacije sa a zvučna uzbuna, sa drugom vizualna poruka terminala koja preporučuje ručne radnje koje treba izvršiti kako bi se izbjegla ponovljena greška a zatim završite izvršenje Shell script.

S obzirom na zadnja 2 retka modula, oni koji počinju sa wget naredba, za sada one nisu bitne, jer su dio a eksperimentalni postupak prilagodio ja za postizanje glasovne podrške a Shell script sa internetskom vezom putem Mrežni sintetizator glasa od Google Prevoditelja i njezin senzualni ženski glas, i na taj način zamijeniti sintisajzer s robotskim glasom (muški / ženski) koje lokalno pružaju GNU / Linux operativni sistemi sa paketima (programima) espeak, festival, festvox, mbrola, govor i presuda.

Preporuka:

PROČITAJTE DOKUMENT: «KATEDRALA I BAZAR»

Katedrala i čaršija je svojevrsni manifest koji je kreirao Eric S Raymond u godini 1.998 pokušati objasniti iz vašeg ugla i ličnog iskustva (Stvaranje programa fetchmail) ono što je shvatio o uspješnom stvaranju i razvoju Linuxa i srodnih programa, posebno iz perspektive razlike između Modeli za razvoj softvera, koju je lično nazvao: Model katedrale i model čaršije.

Moja sažeta analiza tog dokumenta je sljedeća:

Ovo čitanje sugerira ili nam predstavlja viziju koja postoji u svijetu Softverski inženjering postoje „dva potpuno različita stila razvoja, model katedrale, primjenjiv na većinu događaja koji se izvode u svijetu Komercijalni softver, ispred bazar model, tipičniji za svijet Linux ". Naglašavajući da su ova dva modela izvedena iz suprotnih polazišta o prirodi procesa otklanjanja grešaka u softveru i iz njegove posebne teorije o onome što je nazvao Linusov zakon koja je navela sljedeće: "S obzirom na dovoljan broj očiju, sve su pogreške nebitne" ili drugim riječima: "S dovoljnim brojem očiju, sve su pogreške sitnica."

Takođe u ovom čitanju autor naglašava riječ Hacker, što je po mom mišljenju autor izrazio kao neku vrstu Korisnik na visokom nivou sposoban za efikasno razumijevanje i iskorištavanje programa te otkrivanje, predlaganje ili provođenje ispravki ili modifikacija efikasnog oblika i supstance za cijelu korisničku zajednicu. Ovaj mi se samopredloženi koncept jako svidio, jer smatram da je točan, ali ostaviću jedan koji mi se također jako sviđa jer je mnogo globalniji i / ili generički.

Hacker

"Linux je subverzivan." Zašto? Prvo što nam ovo čitanje govori je da:

Do tada je postojala velika raznolikost standardiziranih metoda ili modela za razvoj softvera koji su se temeljili na "Centraliziraniji i planiraniji pristup od početka" kao rezultat čina dizajniranja softvera koji se uzima kao nešto povezano sa a X faktor to vodi do „Neka kritična složenost“. I to uprkos činjenici da je to već postojalo u Unix svijetDrugim riječima, rad koji se sastoji od malih alata, brzog razvoja prototipa i evolucijskog programiranja, pojava filozofije razvoja slobodnog softvera pod Linuxom odveo je stvar na još jedan nivo sofisticiranosti.

Kao rezultat ovoga, Dok Razvoj privatnog softvera je napravljen od "Tihi i pobožni način", dok gradite a Katedrala, el Razvoj slobodnog softvera (Linux) je napravljen od "užurban način i s više dnevnih reda (staza) i pristupa (prijedloga) ", baš kao što ste bili u sjajnoj bazar.

Konačno, izlaže niz premisa koje vrijedi razbiti i probaviti u odgovarajućem kontekstu kako bi se razumjeli oni koji se razvijaju za zajednicu korisnika slobodnog softvera. Ovi prostori su:

  1. SVA DOBRA POSLA U SOFTVERU POČINJU POKUŠAVATI LIČNI PROBLEM IZ PROGRAMIRANJA.
  2. DOBRI PROGRAMERI ZNAJU ŠTA NAPISATI. NAJBOLJE ZNANJE ŠTO PREPISATI (I PONOVNO UPOTREBITI).
  3. RAZMISLITE O ODSTRANJIVANJU BAREM JEDNOG KRAJA. "
  4. AKO IMATE PRAVI STAV, ZANIMLJIVI PROBLEMI ĆE VAS NAĆI.
  5. KAD VAS PROGRAM VIŠE NE ZANIMA, VAŠA POSLJEDNJA DUŽNOST JE DA NJEGU PREDAŽETE NADLEŽNOM NASLEDNIKU.
  6. TRETMAN S KORISNICIMA KAO SARADNICIMA MANJE JE KOMPLIKIRAN NAČIN ZA BRZO POBOLJŠANJE I UČINKOVITO PROGRAMIRANJE PROGRAMA.
  7. USPUSTITE USKORO. POKRENITE TO ČESTO. I SLUŠAJTE KORISNIKE.
  8. DATI DOSTOJNO BAZU TESTERA I DOPRINOSNIKA, GOTOVO SVI PROBLEMI ĆE BITI BRZO IDENTIFICIRANI I NJIHOVO REŠENJE BIT ĆE NEKOM OČITO.

Plus ostalih 11 preostalih prostorija koje su više trijezne vrste (moralne), koji ne dolazi uz priču, već uz ono što svako tumači čitač (programer), što me je u mom vrlo konkretnom slučaju dovelo do sljedećih zaključaka:

ZAKLJUČCI

Nadam se da su vam se svidjele ove informacije i da su od koristi Čitanje katedrale i čaršije obavezna je referenca za sve one koji programiraju bilo koji razvoj u slobodnom softveru, bez obzira na to bio velik ili mali.

Kasnije ćemo u budućim postovima i dalje vidjeti primjer moduli (sekcije) koji izvode funkcije kao što su:

  • MODUL OVLAŠTENJA KORISNIKA SA LOZINKOM
  • MODUL OTKRIVANJA ARHITEKTURE OPERATIVNOG SUSTAVA
  • KODIRANJE MODULA KONFIGURACIJE JEZIKA
  • PROFISIJSKI MODUL KONFIGURACIJE ZA IZVRŠNO OKRUŽENJE

Između mnogih drugih!

I kao i uvijek, preporučujem krenite učiti na samouk način o naredbama: gksu, dijalog, gxmessage, zenity, espeak, play, između mnogih drugih za stvaranje grafičkih interfejsa pomoću terminala ili za radnu površinu korisnika, sa zvučnim ili multimedijskim upozorenjima, i unaprijediti znanje koje će kasnije koristiti.

Imajte na umu da ove i bilo koje druge preporuke za neke modul, funkcija, varijabla, naredba ili radnja općenito se može provesti mnogo načina, a ono što je ovdje prikazano je samo jedno jednostavan način, of the mnogo mogućih i vjerovatnih načina u kojoj je rečeno akcija se može ili može provesti!

Samo da završim, ostavljam vas, a Screencast sam napravio ja, da vam pokažem za šta ste sposobni, nakon što ovo završite Shell Scripting online kurs u DesdeLinux:

LPI-SB8 Test ScreenCast

(LINUX POST INSTALACIJA - SCENARIJ BICENTENARIO 8.0.0) - Dio 2


Budite prvi koji komentarišete

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.