Изградете вашата програма стъпка по стъпка, като използвате Shell Scripting - Част 4

В предишни записи в тази поредица от публикации, ние припомнихме как да реализираме:

Скрипт на Shell

И в предишните, как да внедрите a Shebang и BSM (Bash Strict Mode / Strict Bash Mode).

Най-добри практики за създаване на Shell Script в GNU / Linux - Част 1

Най-добри практики за създаване на Shell Script в GNU / Linux - Част 2

Ето пример за Модул за оптимизация, като вземем за пример един от моите програми (приложения) факти в a Shell сценарий наречен Инсталиране на Linux след двегодишен скрипт 8.0:

Това трябва да е модулът (раздел) да инсталирате базовите пакети, необходими за правилното функциониране на същите, или да изпълните минималните действия, необходими за актуализиране, поддържане или изпълнение на работната среда или операционната система, така че всичко да работи задоволително. Аз лично добавям следните редове, за да създам този модул:


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

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

Както можете да видите, този модул изпълнява a актуализация на склонността, последвано от инсталирането на пакетите диалогов прозорец gxmessage zenity espeak gksu, продължавайки с командните заповеди aptitude install -f y dpkg –конфигуриране -a. И в случай, че и само ако всичко е изпълнено задоволително, a визуално съобщение чрез терминал на успешно завършване с a звуков сигнал и продължих със следващата стъпка (модул / раздел) на Shell сценарий. В противен случай а визуално съобщение чрез терминал на неуспешна реализация с a звуков сигнал, с друга визуално съобщение от терминал, препоръчващо ръчни действия, които трябва да бъдат изпълнени, за да се избегне отново постигнатата грешка и след това завършете изпълнението на Shell сценарий.

По отношение на последните 2 реда на модула, тези, които започват с команда wget, засега те не са от съществено значение, тъй като те са част от a експериментална процедура адаптиран от мен за постигане на гласова подкрепа на a Shell сценарий с интернет връзка чрез Онлайн синтезатор на глас от Google Translate и нейният чувствен женски гласи по този начин заменете синтезатор с роботизиран глас (мъжки / женски) предоставени локално от операционните системи GNU / Linux с пакетите (програмите) espeak, фестивал, festvox, mbrola, реч и звезда.

препоръка:

ПРОЧЕТЕТЕ ДОКУМЕНТА: «КАТЕДРАЛЪТ И БАЗАРЪТ»

Катедралата и чаршията е един вид манифест, създаден от Ерик С. Реймънд през годината 1.998 да се опитате да обясните от вашата гледна точка и личен опит (Създаване на програмата извличане на поща) какво възприема за успешното създаване и развитие на Linux и свързаните с него програми, особено от гледна точка на разликата между Модели за разработване на софтуер, който той лично нарече: Модел на катедралата и модел на базар.

Моят обобщен анализ на този документ е както следва:

Това четене внушава или представя визията, която в света на Софтуерно инженерство има „два напълно различни стила на развитие, модел на катедралата, приложими за повечето разработки, извършени в света на Търговски софтуер, пред модел на базар, по-характерни за света Linux ". Подчертавайки, че тези 2 модела са извлечени от противоположни изходни точки за естеството на процеса на отстраняване на грешки в софтуера и от неговата конкретна теория за това, което той нарича Законът на Линус който заяви следното: „При достатъчен брой очи всички грешки са без значение“ или с други думи: „При достатъчен брой очи всички грешки са дреболия.“

Също така в това четене авторът набляга на думата Hacker, което според мен авторът е изразил като един вид Потребител на високо ниво, способен ефективно да разбира и експлоатира програма и да открива, предлага или прилага корекции или модификации на ефективна форма и съдържание за цялата потребителска общност. Харесвах тази самопредложена концепция много, тъй като смятам, че е правилна, но ще оставя една, която също ми харесва много, защото е много по-глобална и / или обща.

Hacker

„Linux е подривен.“ Защо? Първото нещо, което ни казва това четене, е, че:

Дотогава имаше огромно разнообразие от стандартизирани методи или модели за разработка на софтуер, базирани на a „По-централизиран и планиран подход от самото начало“ в резултат на акта на проектиране на Софтуер се приема като нещо свързано с a екс фактор което води до „Известна критична сложност“. И това въпреки факта, че това вече е съществувало в Unix святС други думи, работата, състояща се от малки инструменти, бързо разработване на прототипи и еволюционно програмиране, появата на философията за разработване на свободен софтуер под Linux изведе въпроса на друго ниво на усъвършенстване.

В резултат на това, докато Разработка на частен софтуер е направен от "Тих и благоговеен начин", докато изграждате Катедрала, на Разработка на свободен софтуер (Linux) е направен от "оживен начин и с множество програми (пътища) и подходи (предложения) ", точно както бяхте в страхотно базар.

И накрая, той разкрива поредица от предпоставки, които си струва да се разбият и смилат в техния подходящ контекст, за да се разберат тези, които се развиват за Общността на потребителите на свободен софтуер. Тези помещения са:

  1. ВСИЧКИ ДОБРИ РАБОТНИ МЕСТА В СОФТУЕРА ЗАПОЧВАТ ДА СЕ ОПИТВАТ ДА ЛИЧНИ ЛИЧЕН ПРОБЛЕМ, ОТ КОЙТО ГИ РАЗПЛАСТВАТЕ.
  2. ДОБРИТЕ ПРОГРАМИСТИ ЗНАЯТ КАКВО ДА ПИШЕ. НАЙ-ГОЛЯМОТО ЗНАНИЕ КАКВО ДА ПРЕПИШЕМ (И ПОВТОРНО).
  3. МИСЛЕТЕ ЗА ИЗПОЛЗВАНЕ НА ПОНЕ ЕДНО: ВЪВ ВСЕ В крайна сметка ще го направите. "
  4. АКО ИМАТЕ ПРАВИЛНОТО НАЧАЛО, ИНТЕРЕСНИТЕ ПРОБЛЕМИ ЩЕ ВИ НАМЕРАТ.
  5. КОГАТО ПРОГРАМА ВЕЧЕ НЕ ВИ ИНТЕРЕСУВА, ПОСЛЕДНАТА ВИ ЗАДЪЛЖЕНИЕ Е ДА СЕ ПРЕДОСТАВИТЕ НА КОМПЕТЕНТЕН НАСТОЯТЕЛ.
  6. ОБРАБОТВАНЕТО НА ВАШИТЕ ПОТРЕБИТЕЛИ КАТО СЪТРУДНИЦИ Е НАЙ-МАЛКАТА СЛОЖЕН НАЧИН НА БЪРЗО ПОДОБРЯВАНЕ И ЕФЕКТИВНО ДЕБУГИРАНЕ НА ПРОГРАМА.
  7. ОСВОБОЖДЕТЕ СКОРО. СТАРТИРАЙТЕ ЧЕСТО. И СЛУШАЙТЕ ВАШИТЕ ПОТРЕБИТЕЛИ.
  8. ДАДЕШЕ СТИГАЛНА БАЗА ТЕСТЕРИ И ДОПЪЛНИТЕЛИ, ПОЧТИ ВСИЧКИ ПРОБЛЕМИ ЩЕ БЪДАТ ИДЕНТИФИЦИРАНИ БЪРЗО И РЕШЕНИЕТО НИХ ЩЕ БЪДЕ ЯВНО.

Плюс други 11 останали помещения, които са по-скоро отрезвяващи (морални), което не идва с историята, а с интерпретираното от всеки четец (разработчик), което в моя конкретен случай ме доведе до следните заключения:

Заключения

Надявам се тази информация да ви е харесала и е полезна, тъй като Четенето на катедралата и чаршията е задължителна справка за всички, които програмират каквото и да е развитие в свободен софтуер, независимо колко голям или малък.

По-късно, в бъдещи публикации ще продължим да виждаме пример за модули (раздели) които изпълняват функции като:

  • МОДУЛ ЗА РАЗРЕШЕНИЕ НА ПОТРЕБИТЕЛ С ПАРОЛА
  • МОДУЛ ЗА ОТКРИВАНЕ НА АРХИТЕКТУРАТА НА ОПЕРАТИВНАТА СИСТЕМА
  • МОДУЛ ЗА КОДИРАНЕ НА ЕЗИК
  • МОДУЛ ЗА КОНФИГУРАЦИЯ НА ПРОКСИ ЗА ОКОЛНАТА СРЕДА

Сред много други!

И както винаги препоръчвам отидете да се учите по самоук начин за командите: gksu, диалог, gxmessage, zenity, espeak, play, наред с много други за създаване на графични интерфейси от терминала или за работния плот на потребителя, със звукови или мултимедийни предупрежденияи усъвършенстват знанията, които ще използват по-късно.

Не забравяйте, че тези и всякакви други препоръки за някои модул, функция, променлива, команда или действие като цяло може да се извърши много начини, а показаното тук е само едно прост начин, от много възможни и вероятни начини в която каза действие може или може да бъде извършено!

За да завърша, те оставям, а Скрийнкаст, направен от мен, за да ви покажа на какво бихте били способни, след като завършите това Онлайн курс по Shell Scripting в DesdeLinux:

LPI-SB8 Тестов екран

(LINUX POST INSTALL - СЦЕНАРТ BICENTENARIO 8.0.0) - Част 2


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорен за данните: Мигел Анхел Гатон
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.