Створюйте свою програму поетапно, використовуючи сценарії оболонки - Частина 4

У попередніх записах цієї серії публікацій ми згадували, як реалізувати:

Сценарії Shell

А в попередніх, як реалізувати a Shebang and BSM (Bash Strict Mode / Strict Bash Mode).

Найкращі практики створення сценарію оболонки в GNU / Linux - Частина 1

Найкращі практики створення сценарію оболонки в GNU / Linux - Частина 2

Ось приклад Модуль оптимізації, взявши за приклад один з моїх програми (програми) факти в Сценарій оболонки званий Пост встановлення 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, продовжуючи командні накази здатність встановити -f y dpkg –конфігурація -a. І у випадку, якщо і тільки якщо все було виконано задовільно, a візуальне повідомлення за допомогою терміналу успішного завершення з звуковий сигнал і я продовжив наступний крок (модуль / розділ) Сценарій оболонки. В іншому випадку a візуальне повідомлення за допомогою терміналу невдалої реалізації з звуковий сигнал, з іншим візуальне повідомлення терміналом, що рекомендує виконувати ручні дії, щоб уникнути повторно досягнутої помилки, а потім закінчити виконання Сценарій оболонки.

Стосовно останніх 2 рядків модуля, ті, що починаються з команда wget, наразі це не є суттєвим, оскільки це частина a експериментальна процедура пристосований мною для досягнення голосової підтримки а Сценарій оболонки з підключенням до Інтернету за допомогою Інтернет-синтезатор голосу від Google Translate і її чуттєвий жіночий голос, і таким чином замінити синтезатор з роботизованим голосом (чоловічий / жіночий) надаються локально Операційними системами GNU / Linux разом із пакетами (програмами) espeak, festival, festvox, mbrola, промова та вирок.

Рекомендації:

ПРОЧИТАЙТЕ ДОКУМЕНТ: «СОБОР І БАЗАР»

Собор і базар є своєрідним маніфестом, створеним Ерік С. Раймонд в році 1.998 спробувати пояснити з вашої точки зору та особистого досвіду (Створення програми fetchmail) що він сприймав про успішне створення та еволюцію Linux та пов'язаних з нею програм, особливо з точки зору різниці між Моделі розробки програмного забезпечення, який він особисто назвав: Модель собору та модель базару.

Мій підсумковий аналіз цього документа такий:

Це читання пропонує або представляє бачення, яке існує у світі Росії Розробка програмного забезпечення є "два абсолютно різних стилі розвитку, модель собору, застосовна до більшості розробок, що здійснюються у світі Росії Комерційне програмне забезпечення, перед модель базару, більш типовий для світу Linux ". Підкреслюючи, що ці 2 моделі походять від протилежних вихідних точок щодо природи процесу налагодження програмного забезпечення, а також від його конкретної теорії про те, що він назвав Закон Лінуса де зазначено наступне: "Враховуючи достатню кількість очей, всі помилки не мають значення" або іншими словами: "При достатній кількості очей усі помилки - це дрібниці".

Також у цьому читанні автор наголошує на слові хакер, який на мій погляд автор висловив як своєрідний Користувач високого рівня, здатний розуміти та ефективно використовувати програму, а також виявляти, пропонувати або впроваджувати виправлення або модифікації в ефективній формі та суті для всієї спільноти користувачів. Мені дуже сподобалась ця концепція, яку я запропонував, оскільки вважаю її правильною, однак я залишу таку, яка мені також дуже подобається, оскільки вона набагато глобальніша та / або загальна.

хакер

"Linux підривний." Чому? Перше, про що нам говорить це читання, це те, що:

До цього часу існувало величезне різноманіття стандартизованих методів або моделей розробки програмного забезпечення, які базувались на "Більш централізований та планомірний підхід з самого початку" як результат проектування програмного забезпечення, що сприймається як щось, що стосується a Х-фактор що призводить до “Певна критична складність”. І це, хоча це вже існувало в Світ UnixІншими словами, робота, що складається з невеликих інструментів, швидкої розробки прототипів та еволюційного програмування, поява філософії розробки вільного програмного забезпечення під Linux вивела справу на інший рівень витонченості.

В результаті цього, поки Приватна розробка програмного забезпечення було зроблено з "Тихий і благоговійний шлях", будуючи a Собор, то Розробка вільного програмного забезпечення (Linux) було зроблено з "галасливий спосіб і з безліччю програм (шляхів) та підходів (пропозицій) ", так само, як ви були у великому Благодійний базар.

Нарешті, він виставляє низку приміщень, які варто розбити та переварити у відповідному контексті, щоб зрозуміти тих, хто розробляє для Спільноти користувачів вільного програмного забезпечення. Ці приміщення:

  1. ВСІ ДОБРІ РОБОТИ В ПРОГРАМНОМУ ЗАБЕЗПЕЧЕННІ ПОЧИНАЮТЬСЯ ПРОБИТИ ПЕРСОНАЛЬНУ ПРОБЛЕМУ, ВІД ЯКОЇ ВИ ПЛАНЮЄТЕ ЇХ.
  2. ХОРОШІ ПРОГРАМИСТИ ЗНАЮТЬ ЩО НАПИСАТИ. НАЙКРАЩЕ ЗНАТИ, ЩО ПЕРЕПИСАТИ (І ВИКОРИСТАТИ).
  3. ДУМАЙТЕ ПРО ВИКОРИСТАННЯ МІНІМЕНТАЦІЇ: ВИ БУДЕТЕ ЗРОБИТИ ЦЕ БУДЬ-ЯК ".
  4. ЯКЩО ВИ МАЄТЕ ПРАВИЛЬНИЙ СТАВЛЕННЯ, ЦІКАВІ ПРОБЛЕМИ ВАМ ЗНАЙДУТЬ.
  5. КОЛИ ПРОГРАМА ВЕЧЕ НЕ ЦІКАВИТЬ ВАШИЙ ОСТАННІЙ ОБОВ'ЯЗК, ПЕРЕДАЧИ КОМПЕТЕНТНОМУ ПРОДУЦІЮ.
  6. ЛІКУВАТИСЯ З КОРИСТУВАЧАМИ ЯК СПІВРОБІТНИКАМИ - МЕНШЕ СЛОЖНИЙ СПОСІБ ШВИДКОГО ВДОСКОНАЛЕННЯ ТА ЕФЕКТИВНОЇ ВИПРАВКИ ПРОГРАМИ.
  7. ВІДПУСКАЙТЕ СКОРО. ЗАПУСКАТИ ЧАСТО. І СЛУХАЙТЕ ВАШИХ КОРИСТУВАЧІВ.
  8. ОДИНИТИ ДОСТАТОЧНУ ШИРОКУ БАЗУ ТЕСТЕРІВ І ВЛАСНИКІВ, БІЛЬШЕ ВСІ ПРОБЛЕМИ БУДУТЬ ШВИДКО ІДЕНТИФІКОВАНІ, І РІШЕННЯ БУДУТЬ КОЖИМ ВІДОМЛИМИ.

Плюс інші 11 залишків приміщень, які є більш протверезними (моральними), який йде не з історією, а з тим, що тлумачить кожен читач (розробник), що в моєму конкретному випадку призвело мене до таких висновків:

Висновки

Сподіваюсь, вам сподобалось, і ця інформація корисна, оскільки Читання собору та базару є обов’язковим посиланням для всіх, хто програмує будь-яку розробку у вільному програмному забезпеченні, незалежно від того, наскільки велика чи мала.

Пізніше, у наступних публікаціях ми продовжуватимемо бачити приклад модулі (розділи) які виконують такі функції, як:

  • МОДУЛЬ АВТОРИЗАЦІЇ КОРИСТУВАЧА З ПАРОЛОМ
  • МОДУЛЬ ВИЗНАЧЕННЯ АРХІТЕКТУРИ ОПЕРАЦІЙНОЇ СИСТЕМИ
  • МОДУЛЬ КОДІЮВАННЯ МОВИ
  • МОДУЛЬ КОНФІГУРАЦІЇ ПРОКСІ ДЛЯ СЕРЕДОВИЩА ВИКОНАННЯ

Серед багатьох інших!

І як завжди, рекомендую йти вчитися самоуком про команди: gksu, діалог, gxmessage, zenity, espeak, play, серед багатьох інших створювати графічні інтерфейси за допомогою терміналу або робочого столу користувача із звуковими або мультимедійними попередженнямита просунути знання, якими вони скористаються пізніше.

Пам'ятайте, що ці та будь-які інші рекомендації щодо деяких модуль, функція, змінна, команда або дія загалом це можна здійснити багато шляхів, а те, що показано тут, є не що інше, як a простий спосіб, з безліч можливих і ймовірних шляхів в якому сказано дія може або може бути здійснена!

Щоб закінчити, я залишаю вас, a Скрінкаст, зроблений мною, щоб показати вам, на що ви були б здатні, виконавши це Онлайн-курс Shell Scripting в DesdeLinux:

Тест екрану LPI-SB8

(LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0) - Частина 2


Залиште свій коментар

Ваша електронна адреса не буде опублікований. Обов'язкові для заповнення поля позначені *

*

*

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