Veidojiet programmu soli pa solim, izmantojot Shell Scripting - 4. daļa

Iepriekšējos šīs publikāciju sērijas ierakstos mēs atgādinājām, kā ieviest:

Shell skripti

Un iepriekšējos, kā īstenot a Shebang un BSM (Bash Strict Mode / Strict Bash Mode).

Labākā prakse, lai izveidotu čaulas skriptu GNU / Linux - 1. daļa

Labākā prakse, lai izveidotu čaulas skriptu GNU / Linux - 2. daļa

Šeit ir piemērs Optimizācijas modulis, ņemot par piemēru vienu no maniem programmas (lietojumprogrammas) fakti a Shell skripts sauc Linux Post Install - divgadu skripts 8.0:

Tam vajadzētu būt modulim (sadaļai) instalēt bāzes paketes, kas nepieciešamas to pareizai darbībai, vai veikt minimālās darbības, kas nepieciešamas, lai atjauninātu, uzturētu vai veiktu Darba vidi vai operētājsistēmu tā, lai viss darbotos apmierinoši. Es personīgi pievienoju šādas rindas, lai izveidotu šo moduli:


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

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

Kā redzat, šis modulis darbojas a spēju atjaunināšana, kam seko pakotņu instalēšana dialogs gxmessage zenity espeak gksu, turpinot komandu pavēles aptitude instalēt -f y dpkg –konfigurēt -a. Ja gadījumā un tikai tad, ja viss ir izpildīts apmierinoši, a vizuāls vēstījums ar termināli veiksmīgas pabeigšanas ar skaņas trauksme un es turpināju ar nākamo programmas moduli / sadaļu Shell skripts. Pretējā gadījumā a vizuāls vēstījums ar termināli par neveiksmīgu realizāciju ar a skaņas trauksme, ar citu vizuāls ziņojums, terminālim iesakot veikt manuālas darbības, lai izvairītos no atkārtotas kļūdas, un pēc tam pabeidziet Shell skripts.

Attiecībā uz pēdējām 2 moduļa rindām, tie, kas sākas ar wget komandu, pagaidām tie nav būtiski, jo tie ir daļa no eksperimentāla procedūra es pielāgoju, lai sasniegtu balss atbalstu Shell skripts ar interneta pieslēgumu, izmantojot Tiešsaistes balss sintezators no Google tulkotāja un viņas jutekliskā sieviešu balss, un tādējādi nomainiet sintezators ar robotu balsi (vīrietis / sieviete) nodrošina vietēji GNU / Linux operētājsistēmas ar pakotnēm (programmām) espeak, festivāls, festvox, mbrola, runa un stardict.

Ieteikums:

LASI DOKUMENTU: «KATEDRA UN BAZĀRS»

Katedrāle un tirgus ir sava veida manifests, ko izveidojis Eric S. Raymond gadā 1.998 mēģināt izskaidrot no jūsu viedokļa un personīgās pieredzes (Programmas izveide fetchmailko viņš uztvēra par veiksmīgu Linux un ar to saistīto programmu izveidi un attīstību, it īpaši no atšķirības starp Programmatūras izstrādes modeļi, kuru viņš personīgi sauca: Katedrāles modelis un Bazāra modelis.

Mana šī dokumenta kopsavilkuma analīze ir šāda:

Šis lasījums ierosina vai parāda vīziju, kas pastāv pasaulē Izgudrojumu programmatūra pastāv “divi pilnīgi atšķirīgi attīstības stili, katedrāles modelis, kas piemērojama lielākajai daļai notikumu, kas veikti Austrālijas Komerciāla programmatūra, priekšā bazāra modelis, vairāk raksturīga pasaulei Linux ". Uzsverot, ka šie 2 modeļi ir iegūti no pretējiem sākumpunktiem programmatūras atkļūdošanas procesa būtībā un no viņa īpašās teorijas par to, ko viņš sauca Linusa likums kurā bija norādīts: "Ņemot vērā pietiekamu acu skaitu, visām kļūdām nav nozīmes" vai citiem vārdiem sakot: "Ar pietiekamu acu skaitu visas kļūdas ir sīkumi."

Arī šajā lasījumā autors uzsver vārdu Hacker, kuru, manuprāt, autore izteica kā sava veida Augsta līmeņa lietotājs, kurš spēj saprast un efektīvi izmantot programmu, kā arī atklāt, ieteikt vai ieviest labojumus vai modifikācijas efektīvā formā un saturā visai lietotāju kopienai.. Man ļoti patika šī paša ierosinātā koncepcija, jo, manuprāt, tā ir pareiza, tomēr atstāšu tādu, kas man arī ļoti patīk, jo tā ir daudz globālāka un / vai vispārīgāka.

Hacker

"Linux ir graujošs." Kāpēc? Pirmā lieta, ko mums saka šī lasīšana, ir:

Līdz tam bija ļoti daudz dažādu standartizētu programmatūras izstrādes metožu vai modeļu, kuru pamatā bija "Centralizētāka un plānotāka pieeja jau no paša sākuma" kā rezultātā programmatūras projektēšana tiek uztverta kā kaut kas saistīts ar a X faktors kas noved pie “Daži kritiski sarežģīti”. Neskatoties uz to, ka tas jau pastāvēja Unix pasauleCitiem vārdiem sakot, darbs, kas sastāv no maziem rīkiem, ātras prototipa izstrādes un evolucionāras programmēšanas, brīvās programmatūras izstrādes filozofijas parādīšanās Linux ietvaros pārņēma šo jautājumu citā sarežģītības līmenī.

Tā rezultātā Kamēr Privātas programmatūras izstrāde tika izgatavots no "Klusais un godbijīgais veids", kā jūs veidojat a Catedral, Bezmaksas programmatūras izstrāde (Linux) tika izgatavots norosīgs ceļš un ar vairākām darba kārtībām (ceļiem) un pieejām (priekšlikumiem) ", tāpat kā jūs atradāt lielisku Bazar.

Visbeidzot, tas atklāj virkni telpu, kuras ir vērts nojaukt un sagremot atbilstošajā kontekstā, lai saprastu tos, kas izstrādā Brīvās programmatūras lietotāju kopienu. Šīs telpas ir:

  1. VISI LABI DARBI PROGRAMMATŪRĀS SĀK MĒĢINĀT LŪDZU PERSONĪGU PROBLĒMU, KURU JUMS VIŅUS GRAFIKĀ.
  2. LABI PROGRAMMĒTĀJI ZIN, KO RAKSTĪT. LIELĀKĀ ZINĀT, KO PĀRRAKSTĪT (UN LIETOT).
  3. DOMĀJIET PAR IZMETUMU VISMAZ VIENU: JŪS BEIDZAT TO DARĪT JEBKAD. "
  4. Ja jums ir pareiza attieksme, interesantas problēmas jūs atradīs.
  5. KAD PROGRAMMA TAV NEINTERESĒJAS, TAVA PĒDĒJAIS PIENĀKUMS IR PĀRDOT TO Kompetentam sekotājam.
  6. ATTIECĪBA UZ JŪSU LIETOTĀJIEM kā SADARBOTĀJIEM IR MAZĀK KOMPLICĒTS VEIDS, KĀPĒC ĀTRI UZLABOT UN EFEKTĪVI PROGRAMMU.
  7. ATLAIDIET TŪLĪT. UZSĀKT BIEŽI. UN KLAUSIETIES SAVIEM LIETOTĀJIEM.
  8. PIEŠĶIRTU PATIESU TESTĒTĀJU UN IEGULDĪTĀJU PAMATU PAMATU, Gandrīz visas problēmas tiks ātri identificētas, un to risinājums kādam būs neuzkrītošs.

Plus citas 11 atlikušās telpas, kas drīzāk ir atturīgas (morālas), kas nenāk kopā ar stāstu, bet ar to, ko katrs interpretē lasītājs (izstrādātājs), kas manā konkrētajā gadījumā lika man izdarīt šādus secinājumus:

Secinājumi

Es ceru, ka šī informācija jums patika, un kopš tā laika tā ir noderīga Katedrāles un Bazāra lasīšana ir obligāta atsauce visiem tiem, kas brīvajā programmatūrā ieprogrammē jebkādu attīstību, neatkarīgi no tā, cik liels vai mazs.

Vēlāk nākamajos ierakstos mēs turpināsim redzēt piemēru moduļi (sadaļas) kas veic tādas funkcijas kā:

  • LIETOTĀJA ATĻAUJAS MODULIS AR PAROLI
  • DARBĪBAS SISTĒMAS ARHITEKTŪRAS NOTEIKŠANAS MODULIS
  • KODĒŠANAS VALODAS KONFIGURĀCIJAS MODULIS
  • PIEVIENOŠANĀS VIDES KONFIGURĀCIJAS MODULIS

Starp daudziem citiem!

Un kā vienmēr iesaku iet mācīties pašmācītā veidā par komandām: gksu, dialogs, gxmessage, zenity, espeak, play, starp daudziem citiem lai izveidotu grafiskas saskarnes, izmantojot Terminal vai Lietotāja darbvirsmu, ar skaņas vai multivides brīdinājumiemun apgūstiet zināšanas, kuras viņi izmantos vēlāk.

Atcerieties, ka šie un citi ieteikumi dažiem modulis, funkcija, mainīgais, komanda vai darbība kopumā to var izpildīt daudzos veidos, un šeit redzamais ir tikai viens vienkāršs veids, no daudzi iespējamie un iespējamie veidi kurā teica darbību var vai varētu veikt!

Lai pabeigtu, es tevi atstāju, a Manis izveidota ekrāna pārraide, lai parādītu, uz ko tu būtu spējīgs, pabeidzis šo darbu Shell skriptēšanas tiešsaistes kurss DesdeLinux:

LPI-SB8 testa ekrāna apraide

(LINUX POST INSTALL - BICENTENNIAL SCRIPT 8.0.0) - 2. daļa


Esi pirmais, kas komentārus

Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.