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

Още веднъж добре дошъл към това ново урок (# 8) дел Курс (Урок) за Shell Scripting ”. В горното 7 уроци Успяхме да направим и / или да научим как да създадем определени модули (раздели) на кодове със специфични функционалности чрез  Shell Scripting с помощта на Bash Shell като преводач за изпълнение. Тези модули досега са:

Скрипт на Shell

За да отидете на предишна публикация (урок 7) натиснете следната връзка:

В този осми (8) От друга страна, ще се концентрираме върху изграждането на няколко модула, които са следните:

МОДУЛЪТ ЗА КОНФИГУРАЦИЯ НА ПРОКСИ:


# MODULO DE CONFIGURACIÓN DE PROXY


read -p "En caso de requerir configurar un Proxy en su Terminal, introduzca la dirección_ip:puerto necesaria, en caso contrario solo presione la tecla ENTER: " IP_PTO_PROXY

# Nota: Indicar dirección_ip: puerto solo en caso de ser necesario activar debido
# a proxy interno no transparente para la terminal dentro de la red de trabajo
# donde se ejecute.

echo -e '\a'
export http_proxy=$IP_PTO_PROXY
#export no_proxy="127.0.0.1, localhost, 192.168.0.0/22, mi_institucion.gob.ve:8080"

sleep 3
clear

read -p "SI DESEA CANCELAR PRESIONE CUALQUIERA DE LOS SIGUIENTES CARACTERES: "s" "S" "y" "Y". DE LO CONTRARIO PRESIONE CUALQUIER OTRA TECLA! : " op

if [[ $op == "y" || $op == "Y" || $op == "s" || $op == "S" ]];

 then

   sleep 3 ; clear ; exit 0

 else

   sleep 3 ; clear ; read -p "EL PROGRAMA CONTINUARA, OPRIMA CUALQUIER TECLA PARA CONTINUAR..." && sleep 3 ; clear

fi

Функцията на този модул е ​​да показва на програмата, че конзолата за изпълнение на задачи, които изискват интернет връзка, изисква прокси. Ако ти не посочва нищо (Ключ Въведете без да се поставя IP), програмата ще приеме това не се изисква прокси, в противен случай трябва да посочите a IP: ПОРТ, за да конфигурира временен изходящ прокси и да изпълнява свързаност.

Избор_001

МОДУЛЪТ ЗА ДОБРЕ ДОШЛИ


# MODULO DE BIENVENIDA               

play /usr/share/sounds/startup3.wav 2> /dev/null

echo " BIENVENIDOS AL PROGRAMA "
sleep 3
clear

dialog --infobox "\n \n \nGRACIAS POR USAR ESTE SCRIPT..." 10 80 ; sleep 3

DIALOG=${DIALOG=dialog}

COUNT=10
(
while test $COUNT != 110
do
echo $COUNT
echo "XXX"
echo "ESTIMADO USUARIO, BIENVENIDO AL SCRIPT..."
echo "GRACIAS POR UTILIZARME..."
echo "ESPERE UNOS SEGUNDOS MIENTRAS ME INICIALIZO... ($COUNT %)"
echo "XXX"
COUNT=`expr $COUNT + 10`
sleep 1
done
) |
$DIALOG --title "LPI - SB" --gauge "INICIALIZANDO EL SCRIPT" 10 80 0

clear

echo " SCRIPT DE TRABAJO EN EJECUCIÓN "
echo ""
sleep 3
clear
             

Функцията на този модул е ​​да показва a Добре дошли банер на потребителя, ръчно проектиран с буквено-цифрови и не-буквено-цифрови символи. След това прозорец с информационно съобщение на терминал с Диалог и накрая лента за напредък за контрол на следващата стъпка към следващия модул.

Избор_002

Избор_003

Избор_004

МОДУЛ ЗА ИЗБОР НА ПОТРЕБИТЕЛСКИ ИНТЕРФЕЙС


# MODULO DE SELECCIÓN DE INTERFACE DE USUARIO 

DIALOG_CANCEL=1
DIALOG_ESC=255
HEIGHT=0
WIDTH=0

display_result() {
  dialog --title "$1" \
    --no-collapse \
    --msgbox "$result" 0 0
}

while true; do
  exec 3>&1
  selection=$(dialog \
    --backtitle "Script en ejecución" \
    --title "Menu" \
    --clear \
    --cancel-label "Exit" \
    --menu "Seleccione una (1) opción, por favor:" $HEIGHT $WIDTH 4 \
    "1" "Usar interfaz de usuario (GUI) por Terminal" \
    "2" "Usar interfaz de usuario (GUI) por Escritorio" \
    "3" "Cerrar la sesión del Script" \
    2>&1 1>&3)
  exit_status=$?
  exec 3>&-
  case $exit_status in
    $DIALOG_CANCEL)
      clear
      echo "Sesión del Script cancelada."
      exit
      ;;
    $DIALOG_ESC)
      clear
      echo "Sesión del Script abortada." >&2
      exit 1
      ;;
  esac
  case $selection in
    0 )
      clear
      echo "Programa Terminado."
      ;;
    1 )
      result=$(echo "Usuario $USERNAME, usted ha seleccionado la interfaz de usuario (GUI) por Terminal"; echo $FECHA_SISTEMA_N / $HORA_SISTEMA)
      display_result "Script de Trabajo"
      USER_INTERFACE=T ; break
      
      ;;
    2 )
      result=$(echo "Usuario $USERNAME, usted ha seleccionado la interfaz de usuario (GUI) por escritorio"; echo $FECHA_SISTEMA_N / $HORA_SISTEMA)
      display_result "Script de Trabajo"
      USER_INTERFACE=E ; break
      ;;
    3 )
      result=$(echo "Usuario $USERNAME, el SCRIPT ha seleccionado la interfaz de usuario (GUI) por Terminal por defecto"; echo $FECHA_SISTEMA_N / $HORA_SISTEMA)
      display_result "Script de trabajo"
      USER_INTERFACE=T ; break
      ;;
  esac
done

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

Избор_005

Избор_006

Избор_007

МОДУЛ ЗА ИЗБОР И ИЗПЪЛНЕНИЕ НА ДОПЪЛНИТЕЛНИ МОДУЛИ


# MODULO DE SELECCIÓN Y EJECUCIÓN DE MÓDULOS ADICIONALES               


if [[ "$USER_INTERFACE" == "T" ]]; then

    bash $UBICACION/lpi_sb8_gui_terminal.sh 
    sleep 3

  else

    bash $UBICACION/lpi_sb8_acond_audiovisual_g_2016.sh

    bash $UBICACION/lpi_sb8_act_mtto_g_2016.sh

fi
       

Функцията на този модул е ​​да изпълнява предварително дефинирана опция въз основа на стойност, съхранявана преди това в променлива. В този случай тази променлива би задействала избор между продължаване да изпълнява само дейности чрез конзола с команди и графични интерфейси с диалог ó чрез графични интерфейси за работната среда с Zenity и Gxmessage.

Избор_008

Избор_009

Избор_010

Избор_010

Избор_011

ПРОСТРАНСТВЕН МОДУЛ


# MODULO DE DESPEDIDA               

# Sección que muestra un mensaje de despedida al usuario

echo -e '\a'

echo ''
echo ''
echo '#--------------------------------------------------------#'
echo '#   ESPERE UNOS SEGUNDOS MIENTRAS SE CIERRAN TODOS LOS   #'
echo '#               PROCESOS ABIERTOS DEL SCRIPT             #'
echo '#--------------------------------------------------------#'
echo ''
echo ''

sleep 5
clear

# Sección que instala los paquetes bases del Script

echo -e '\a'

echo ''
echo ''
echo '#--------------------------------------------------------#'
echo '#           MUCHAS GRACIAS POR USAR EL SCRIPT            #'
echo '#                                                        #'
echo '#  EL PROGRAMA HA CULMINADO Y SE CERRARÁ INMEDIATAMENTE  #'
echo '#                    ESTIMADO USUARIO                    #'
echo '#--------------------------------------------------------#'
echo ''
echo ''

sleep 3
clear

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=MUCHAS%20GRACIAS%20POR%20USAR%20EL%20LINUX%20POST%20INSTALL%20-%20SCRIPT%20BICENTENARIO%2C%20EL%20PROGRAMA%20HA%20FINALIZADO%20Y%20SE%20CERRAR%C3%81%20INMEDIATAMENTE%2C%20ESTIMADO%20USUARIO.&tl=es&total=1&idx=0&textlen=141&tk=899229.758054&client=t&prev=input" ; play -q /tmp/audio.mp3

play /usr/share/sounds/shutdown1.wav 2> /dev/null

rm -f $UBICACION/$FILE_LOCK

setterm --initialize

# MODULO DE DESPEDIDA               

Функцията на този модул е ​​да покаже съобщение от прощалната конзола и да изтрие файла на успешното му изпълнение.

Под a Скрийнкаст където е показано как се изпълняват тези модули и предишните, за да проверят как работят всички модули, показани по време на предишните 8 урока, и да удостоверят силата на Скрипт на Shell има по-високо ниво:

Тестово видео за скриптове

И защо да използваме конзолен потребителски интерфейс или графична среда за нашия скрипт?

Трябва да помним това графични потребителски интерфейси, също известен като GUI (графичен потребителски интерфейс) те са носител, използван за представяне на информацията и действията, налични в долния интерфейс, като се използва набор от изображения и графични обекти. Основното му използване се състои от осигуряват проста визуална среда, която позволява комуникация с операционната система на машина или компютър.

Обикновено ние извършваме действията чрез директно взаимодействие с оборудването, тоест чрез въвеждане на команди или изпълнение на скрипт с клавиатурата. И GUI се появяват като еволюция на командния ред на първите операционни системи и се превръща в основната част в графичната среда.

И в контекста на процес на взаимодействие човек-компютър, GUI е интерактивната технологична среда, която ни позволява, чрез използването и графичната контекстуализация на визуалния език, приятелско взаимодействие с компютърна система.

Използването на графични интерфейси ни предоставя предимства и недостатъци, като например:

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

Сред недостатъците: Той използва повече ресурси на операционната система, сложност, време за разработка и разходи за извършване на такова развитие.

Ако искате да научите повече за това как да направите нови и по-красиви интерфейси в терминала или на работния плот, препоръчвам ви да научите за някои команди, които се използват за изграждане на диалогови прозорци с възможност за получаване или предоставяне на активна информация с bash скриптове, като например:

диалог: В Диалогов наръчник ни дава различните опции, които имате.

Gx съобщение: В Gxmessage Ръководство ни дава различните опции, които имате.

Зенит: В Наръчник на Zenity ни дава различните опции, които имате.

И ако искате да придадете още по-специално и интерактивно докосване на вашия скрипт (програми) или с Баш Шел или друго Черупка Препоръчвам тези други програми, които, използвани добре, могат да ви помогнат да създадете истински чудеса, без да сте много квалифицирани в проблемите с Shell Scripting. Сред тези програми имаме:

  • известяване-изпращане: Много полезна команда за извършване на известия за събития като известяване, когато пристигне имейл, контакт се поставя онлайн и прави напомняния за различни задачи. 
  • слагам: Команда, която се използва сред много неща за позициониране на курсора на екрана, изтриване на данни от екрана, познаване броя на редовете и колоните на екрана, правилно позициониране на поле, изтриване на поле, чийто вход е открит като грешка. Както и да е, почти цялата параметризация на екрана се извършва от тази команда. 
  • настанени: Команда, която ви позволява да контролирате клавишите за активиране и деактивиране на главни / малки букви, цифровата клавиатура и клавишите за превъртане поотделно за всяка конзола и работен плот.

Е, засега тази поредица!


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

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

*

*

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