Construeix pas a pas el teu programa usant Shell Scripting - Part 4

En entrades prèvies d'aquesta sèrie de publicacions recordem sobre com implementar un:

Shell ScriptingI en altres anteriors, com implementar un Shebang i un BSM (Bash Strict Mode / Mode Bash Estricte).

Millors pràctiques per crear un Script de Shell a GNU / Linux - Part 1

Millors pràctiques per crear un Script de Shell a GNU / Linux - Part 2

A continuació un exemple d'un Mòdul d'optimització, Prenent com a exemple un dels meus programes (aplicacions) fets en un Script de Shell anomenat Linux Post Install - Script Bicentenari 8.0:

Aquest hauria de ser el mòdul (secció) que instal·leu els paquets bases necessaris per al bon funcionament de la mateixa, o executi les accions mínimes necessàries d'actualització, manteniment o performance de l'Entorn de Treball o Sistema Operatiu perquè a continuació tot s'executi satisfactòriament. Jo personalment afegeixo les següents línies per crear aquest mòdul:


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

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

Com poden apreciar aquest mòdul executa un aptitude update, Seguit de la instal·lació dels paquets dialog gxmessage zenity espeak gksu, Continuant amb les ordres de comandament aptitude install -f y dpkg -configure -a. I en cas que si i només si tot s'hagi executat satisfactòriament, s'executi un missatge visual per terminal de realització reeixida amb una alerta sonica i vaig continuar amb el següent pas (mòdul / secció) de l' Script de Shell. En cas contrari, s'executi un missatge visual per terminal de realització no reeixida amb una alerta sonica, Amb un altre missatge visual per terminal recomanant accions manuals a executar per evitar novament l'error aconseguit, per després finalitzar l'execució de l' Script de Shell.

Pel que fa a les 2 últimes línies de la lliçó, Les que comencen amb el comandament wget, Per ara aquestes no són essencials, ja que aquestes són part d'un procediment experimental adaptat per mi per aconseguir el suport de veu d'un Script de Shell amb connexió a internet utilitzant el Sintetitzador de veu en línia de Google Traductor i la seva sensual veu femenina, I així substituir el sintetitzador amb veu robòtica (masculina / femenina) proveïda localment pels Sistemes Operatius GNU / Linux amb els paquets (programes) espeak, festival, Festvox, mbrola, speech i StarDict.

recomanació:

LLEGIR EL DOCUMENT: «LA CATEDRAL I EL BAZAR»

La Catedral i el Basar és una espècie de manifest creat per Eric S. Raymond en l'any 1.998 per intentar explicar des del seu punt de vista i experiència personal (Creació de el programa fetchmail) El que el percebia sobre la reeixida creació i evolució de Linux i els seus programes connexos, sobretot des de la perspectiva de la diferència entre els Models de Desenvolupament de Programari, Que l'personalment dic: Model Catedral i Model Basar.

La meva anàlisi resumit d'aquesta document és el següent:

Aquesta lectura ens suggereix o presenta la visió que dins del món de la Enginyeria del Programari hi ha "dos estils de desenvolupament completament diferents, el model catedral, Aplicable a la major part dels desenvolupaments realitzats en el món de l' programari comercial, Enfront del model basar, Més propi de l'món Linux ". Fent el ressalt que aquests 2 models es deriven de punts de partida oposats sobre la naturalesa de l'procés de depuració de programari, i del seu particular teoria sobre el que el cridava La llei de Linus que enunciava el següent: "Donat un nombre suficient d'ulls, tots els errors són irrellevants" o en altres paraules: "Amb un nombre d'ulls suficient, tots els errors són foteses".

També en aquesta lectura l'autor fa èmfasi en la paraula Hacker, Que al meu entendre l'autor expressava com una mena de Usuari d'Alt Nivell capaç d'entendre i explotar eficientment un programa, i de detectar, suggerir o implementar correccions o modificacions de forma i fons eficients per a tota la comunitat d'usuaris. Aquest concepte acte-suggerit em va agradar molt ja que penso que és encertat, però, deixaré un que també m'agrada molt per ser molt més global i / o genèric.

Hacker"Linux és subversiu". Per que? El primer que ens diu aquesta lectura és que:

Fins a aquest moment hi havia una enorme diversitat de mètodes o models de Desenvolupament de Programari estandarditzats que es recolzaven en un "Enfocament més centralitzat i planificat des del principi" a conseqüència que es prenia l'acte de dissenyar Programari com alguna cosa relacionada ha XNUMX factor X que comporta a "Certa complexitat critica". I que tot i que això ja existia en el món Unix, És a dir, treball consistent en eines petites, ràpid desenvolupament de prototips i programació evolutiva, l'aparició de la filosofia de desenvolupament de Programari Lliure sota Linux porto l'assumpte a un altre nivell de sofisticació.

A conseqüència d'això, Mentre al Desenvolupament de l'Programari Privatiu es cap de "Forma silenciosa i reverent", Tal com es construeix una Catedral, el Desenvolupament de Software Foundation (Linux) es cap de "forma bulliciosa i amb múltiples agendes (camins) i enfocaments (propostes) ", Tal com es s'estigués en un gran Basar.

Finalment, exposa una sèrie de premisses dignes d'esmicolar i digerir en el seu just context per entendre a aquells que desenvolupen per a la Comunitat d'usuaris de Programari Lliure. Aquestes premisses són:

  1. TOTS ELS TREBALLS BONS EN SOFTWARE COMENCEN TRACTANT D'PAL·LIAR UN PROBLEMA PERSONAL DEL QUE ELS PROGRAMA.
  2. ELS BONS PROGRAMADORS SABEN QUÈ ESCRIURE. ELS GRANS SABEN QUÈ REESCRIURE (I REUTILITZAR).
  3. PENSA EN Rebutjar A EL MENYS UN: EL acabaràs FENT SORGITS. "
  4. SI TENS L'ACTITUD ADEQUADA, ELS PROBLEMES INTERESSANTS ET TROBARAN.
  5. QUAN UN PROGRAMA DEIXA DE INTERESSAR, TU ÚLTIM DEURE ÉS PASSAR A UN SUCCESSOR COMPETENT.
  6. TRACTAR TEUS USUARIS COM COL·LABORADORS ÉS EL CAMÍ MENYS COMPLICAT PER A MILLORAR AMB RAPIDESA I DEPURAR EFICAÇMENT UN PROGRAMA.
  7. Llança'l AVIAT. Llança'l SOVINT. I ESCOLTA ALS TEUS USUARIS.
  8. DADA UNA BASE PROU ÀMPLIA D'emprovadors I COL·LABORADORS, GAIREBÉ TOTS ELS PROBLEMES s'identificaran amb RAPIDESA I LA SEVA SOLUCIÓ SERÀ òbvia per ALGÚ.

Més altres 11 restants premisses que són més de el tipus alliçonador (moralitat), Cosa que no ve amb la història sinó amb el interpretat per cada lector (desenvolupador), Que en mi cas molt particular, em va portar a les conclusions següents:

ConclusionsEspero els hagi agradat i els sigui útil aquesta informació, ja que la Lectura de la Catedral i el Basar és un referent obligat per a tots aquells que programem qualsevol Desenvolupament en Programari Lliure, per molt gran o petit que sigui.

Més endavant, en futures entrades continuarem veient exemple de mòduls (seccions) que realitzin funcions com ara:

  • MÒDUL D'AUTORITZACIÓ D'USUARI AMB CONTRASENYA
  • MÒDUL DE DETECCIÓ D'ARQUITECTURA DEL SISTEMA OPERATIU
  • MÒDUL DE CONFIGURACIÓ DEL LLENGUATGE DE CODIFICACIÓ
  • MÒDUL DE CONFIGURACIÓ DE PROXY PER L'AMBIENT D'EXECUCIÓ

Entre molts d'altres!

I com sempre, els recomano anar aprenent de forma autodidacta sobre les ordres: gksu, dialog, gxmessage, zenity, espeak, play, Entre molts altres més per crear interfícies gràfiques per Terminal o per l'escriptori de l'Usuari, amb alertes sòniques o multimèdia, I anar avançant coneixements que faran servir més endavant.

Recordin que aquestes i qualsevol altres recomanacions sobre algun mòdul, funció, variable, comanda o acció en general pot dur a terme de moltes maneres, I ho aquí mostrat no és més que una senzilla manera, De les moltes maneres possibles i probables en la qual aquesta acció pot o podria ser duta a terme!

Només per a finalitzar els deixo, XNUMX Screencast realitzat per mi, Per demostrar-se que serien capaços vostès mateix, després de finalitzat aquest Curs en línia de Shell Scripting en DesdeLinux:

Screencast de Test de l'LPI-SB8

(LINUX POST INSTALL - SCRIPT BICENTENARI 8.0.0) - Part 2


El contingut d'l'article s'adhereix als nostres principis de ètica editorial. Per notificar un error punxa aquí.

Sigues el primer a comentar

Deixa el teu comentari

La seva adreça de correu electrònic no es publicarà.

*

*

  1. Responsable de les dades: Miguel Ángel Gatón
  2. Finalitat de les dades: Controlar l'SPAM, gestió de comentaris.
  3. Legitimació: El teu consentiment
  4. Comunicació de les dades: No es comunicaran les dades a tercers excepte per obligació legal.
  5. Emmagatzematge de les dades: Base de dades allotjada en Occentus Networks (UE)
  6. Drets: En qualsevol moment pots limitar, recuperar i esborrar la teva informació.

bool (true)