Buuin ang iyong programa nang sunud-sunod gamit ang Shell Scripting - Bahagi 4

Sa nakaraang mga entry sa seryeng ito ng mga publication, naalala namin kung paano ipatupad ang isang:

Scripting ng Shell

At sa mga nauna, kung paano ipatupad ang a Shebang at isang BSM (Bash Strict Mode / Strict Bash Mode).

Pinakamahusay na kasanayan upang lumikha ng isang Shell Script sa GNU / Linux - Bahagi 1

Pinakamahusay na kasanayan upang lumikha ng isang Shell Script sa GNU / Linux - Bahagi 2

Narito ang isang halimbawa ng a Module ng pag-optimize, pagkuha bilang isang halimbawa ng isa sa aking mga programa (aplikasyon) katotohanan sa a Shell script tinatawag na Pag-install ng Linux Post - Bicentennial Script 8.0:

Ito dapat ang module (seksyon) upang mai-install ang mga base package na kinakailangan para sa wastong paggana ng pareho, o magpatupad ng pinakamaliit na mga aksyon na kinakailangan upang i-update, panatilihin o gampanan ang Trabaho sa Kapaligiran o Operating System upang ang lahat ay gumana nang kasiya-siya. Personal kong idinagdag ang mga sumusunod na linya upang likhain ang modyul na ito:


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

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

Tulad ng nakikita mo, nagpapatakbo ang modyul na ito a pag-update ng kakayahan, sinundan ng pag-install ng mga package dialog gxmessage zenity magsalita ng gksu, na nagpapatuloy sa mga order ng utos pag-install ng kakayahan -f y dpkg --configure -a. At kung sakali at kung ang lahat ay naisakatuparan nang kasiya-siya, a biswal na mensahe sa pamamagitan ng terminal ng matagumpay na nakumpleto sa isang sonik na alerto at nagpatuloy ako sa susunod na hakbang (modyul / seksyon) ng Shell script. Kung hindi man, a biswal na mensahe sa pamamagitan ng terminal ng hindi matagumpay na pagkumpleto ng a sonik na alerto, kasamang iba visual na mensahe sa pamamagitan ng terminal na nagrerekomenda ng mga manu-manong pagkilos na naisakatuparan upang maiwasan ang error na nakamit muli, at pagkatapos ay tapusin ang pagpapatupad ng Shell script.

Tungkol sa huling 2 linya ng modyul, ang mga nagsisimula sa utos ng wget, sa ngayon ang mga ito ay hindi mahalaga, dahil ang mga ito ay bahagi ng a pang-eksperimentong pamamaraan inangkop ko upang makamit ang suporta ng boses ng a Shell script na may koneksyon sa internet gamit ang Google Translate online speech synthesizer at ang kanyang senswal na boses na babae, at sa gayon ay palitan ang synthesizer na may robotic na boses (lalaki / babae) na ibinigay nang lokal ng GNU / Linux Operating Systems kasama ang mga package (programa) espeak, festival, festvox, mbrola, pagsasalita at stardict.

Rekomendasyon:

BASAHIN ANG DOKUMENTO: «ANG CATHEDRAL AT ANG BAZAR»

Ang Katedral at ang Bazaar ay isang uri ng manipesto na nilikha ng Eric S. Raymond sa taon 1.998 upang subukang ipaliwanag mula sa iyong pananaw at personal na karanasan (Paglikha ng programa fetchmail) kung ano ang napansin niya tungkol sa matagumpay na paglikha at pag-unlad ng Linux at mga kaugnay na programa, lalo na mula sa pananaw ng pagkakaiba sa pagitan ng Mga Modelong Pag-unlad ng Software, na personal niyang tinawag: Modelong Katedral at Modelong Bazaar.

Ang aking pagsusuri sa buod ng dokumentong iyon ay ang mga sumusunod:

Ang pagbabasa na ito ay nagmumungkahi o nagpapakita ng pangitain na sa loob ng mundo ng Software engineering mayroong "dalawang ganap na magkakaibang istilo ng pag-unlad, modelo ng katedral, na nalalapat sa karamihan ng mga pagpapaunlad na isinasagawa sa mundo ng Komersyal na software, sa harap ng modelo ng bazaar, mas tipikal ng mundo Linux ". Binibigyang diin ang 2 modelo na ito ay nagmula sa tapat ng mga panimulang punto sa likas na katangian ng proseso ng pag-debug ng software, at mula sa kanyang partikular na teorya tungkol sa kanyang tinawag Batas ni Linus na nakasaad ang sumusunod: "Dahil sa isang sapat na bilang ng mga mata, lahat ng mga error ay hindi nauugnay" o sa madaling salita: "Sa isang sapat na bilang ng mga mata, lahat ng mga pagkakamali ay maliit."

Sa pagbabasa ding ito binibigyang diin ng may-akda ang salita Hacker, na sa palagay ko ipinahayag ng may-akda bilang isang uri ng Ang may mataas na antas na gumagamit na may kakayahang maunawaan at mahusay na pagsamantalahan ang isang programa, at ng pagtuklas, pagmumungkahi o pagpapatupad ng mga pagwawasto o pagbabago ng mahusay na form at sangkap para sa buong komunidad ng gumagamit. Nagustuhan ko ang konseptong ito na iminungkahi ng sarili dahil sa tingin ko ito ay tama, gayunpaman, mag-iiwan ako ng isa na gusto ko rin ng marami sapagkat ito ay mas pandaigdigan at / o heneral.

Hacker

"Mapag-subersibo ng Linux." Bakit? Ang unang bagay na sinasabi sa atin ng pagbabasa na ito ay:

Hanggang sa panahong iyon ay mayroong isang malaking pagkakaiba-iba ng mga pamantayan na mga pamamaraan sa Pag-unlad ng Software o mga modelo na batay sa a "Mas sentralisado at nakaplanong diskarte mula sa simula" bilang isang resulta ng pagkilos ng pagdidisenyo ng Software na kinuha bilang isang bagay na nauugnay sa a X Factor na humahantong sa "Ang ilang mga kritikal na pagiging kumplikado". At na sa kabila ng katotohanang mayroon na ito sa Mundo ng UnixSa madaling salita, ang gawaing binubuo ng maliliit na tool, mabilis na pag-unlad ng prototype at ebolusyonaryong programa, ang paglitaw ng Libreng Pilosopiya sa pag-unlad ng Software sa ilalim ng Linux ay kinuha ang bagay sa isa pang antas ng pagiging sopistikado.

Bilang isang resulta nito, Habang Pribadong Pag-unlad ng Software ay gawa sa "Tahimik at magalang na paraan", habang nagtatayo ka ng a Katedral, Ang Libreng Pag-unlad ng Software (Linux) ay gawa sa "mataong paraan at may maraming mga agenda (mga landas) at mga diskarte (panukala) ", tulad ng kung ikaw ay nasa isang mahusay Bazar.

Sa wakas, inilalantad nito ang isang serye ng mga nasasakupang nagkakahalaga ng pagkasira at pagtunaw sa kanilang wastong konteksto upang maunawaan ang mga bubuo para sa mga gumagamit ng Community of Free Software. Ang mga nasasakupang lugar ay:

  1. ANG LAHAT NG MABUTING TRABAHO SA SOFTWARE ay NAGSISIMULA SA PAGSUSULIT UPANG MANGYARI NG PERSONAL NA PROBLEMA MULA SA INYONG PINAG-iskedyul.
  2. MABUTING MGA PROGRAMA AY ALAM KUNG ANO ANG DAPAT Isulat. ANG PINAKA MALALAKING ALAM KUNG ANO ANG MAGSISULIT (AT MAGIGING muli).
  3. ISIPIN ANG TUNGKOL SA PAGTATAPOS NG PINAKA-LEAST: KATAPOSAN MO NA ANG GAWIN ITO ANUMAN.
  4. KUNG MAY TAMANG KAUGNAYAN, MAKAKITA KA NG MAKAKAPANGITONG PROBLEMA.
  5. KAPAG ANG PROGRAMA AY HINDI NA KA-INTERESE SA IYO, ANG HULING IKAW NA TUNGKULIN AY ANG IPASA ITO SA ISANG KASUNDUAN NA tagumpay.
  6. ANG PAGGAMOT SA IYONG MGA GAMIT KUNG COLLABORATORS AY ANG MAS KUMIKIT NA PARAAN UPANG MAPAPATIPONG MAAYO AT MABUWANG MAG-DEBUG NG PROGRAMA.
  7. PALABASIN ITO SA DALI. MADALING MAGLUNSAD. AT MAKINIG SA IYONG mga USER.
  8. BINIGYAN NG MALAKING SOBRANG BASE NG TESTERS AT NAGKAKASUNDO, HALOS LAHAT NG LAHAT NG PROBLEMA AY Mabilis na MAKIKILALA AT ANG KANILANG solusyon ay magiging OBVIOUS SA TAO.

Dagdag pa ang 11 natitirang mga lugar na higit pa sa matitipong uri (moral), na hindi kasama ng kwento ngunit sa kung ano ang binibigyang kahulugan ng bawat isa mambabasa (developer), na sa aking partikular na kaso, na humantong sa akin sa mga sumusunod na konklusyon:

Konklusyon

Inaasahan kong nagustuhan mo ang impormasyong ito at kapaki-pakinabang ito, mula pa Ang Pagbasa ng Katedral at ang Bazaar ay isang sapilitan na sanggunian para sa lahat ng mga nagpo-program ng anumang Pag-unlad sa Libreng Software, gaano man kalaki o maliit.

Sa paglaon, sa mga susunod na post ay magpapatuloy kaming makakakita ng isang halimbawa ng mga module (mga seksyon) na gumaganap ng mga pag-andar tulad ng:

  • Modyul ng Awtorisasyon ng Gumagamit na MAY PASSWORD
  • MODYUL NG PAGKAKITA NG ARCHITECTURE NG OPERATING SYSTEM
  • MODYUL NG PAG-CODING NG WIKA NG CODING
  • MODYUL NG PROFY CONFIGURATION PARA SA ENGLITAD NG EKECOYON

Kabilang sa marami pang iba!

At tulad ng dati, inirerekumenda ko matuto sa paraang itinuro sa sarili tungkol sa mga utos: gksu, dayalogo, gxmessage, zenity, espeak, play, bukod sa marami pang iba upang lumikha ng mga grapikong interface ng Terminal o para sa User Desktop, na may mga sonik o multimedia na alerto, at isulong ang kaalamang gagamitin nila sa paglaon.

Tandaan na ang mga ito at anumang iba pang mga rekomendasyon sa ilan module, pagpapaandar, variable, utos o pagkilos sa pangkalahatan maaari itong isagawa Maraming paraan, at ang ipinakita dito ay iisa lamang simpleng paraan, ng maraming posible at maaaring paraan kung saan sinabi maaring maisagawa ang pagkilos!

Para matapos ko lang iwan kita, a Screencast na ginawa ko, upang maipakita sa iyo kung ano ang iyong kaya, matapos itong matapos Shell Scripting online na kurso sa DesdeLinux:

Screen ng Pagsubok sa LPI-SB8

(LINUX POST INSTALL - BICENTENNIAL SCRIPT 8.0.0) - Bahagi 2


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.