Construiți-vă programul pas cu pas folosind Shell Scripting - Partea 8

Încă o dată bun venit la acest nou lecție (# 8) del Curs (Tutorial) pe Shell Scripting ”. În cele de mai sus 7 lecții Am reușit să realizăm și / sau să aflăm despre cum să creăm anumite module (secțiuni) de coduri cu funcționalități specifice prin intermediul  Shell Scripting folosind Bash Shell ca interpret de performanță. Aceste module de până acum sunt:

shell a Scripting

Pentru a merge la post anterior (lecția 7) apăsați următorul link:

În acest opt (8) Pe de altă parte, ne vom concentra asupra construcției mai multor module, acestea fiind următoarele:

MODULUL DE CONFIGURARE PROXY:


# 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

Funcția acestui modul este de a indica programului că consola pentru a efectua sarcini care necesită conectivitate la internet necesită un proxy. daca tu nu indică nimic (Cheie Intrați fără a pune niciun IP) programul va presupune că nu este necesar proxy, altfel trebuie să indicați a IP: PORT, pentru ca acesta să configureze un proxy temporar de ieșire și să realizeze conectivitate.

Selección_001

MODULUL DE BIENVENIRE


# 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
             

Funcția acestui modul este de a afișa un Banner de bun venit utilizatorului proiectat manual cu caractere alfanumerice și non-alfanumerice. Apoi o fereastră de mesaje informative pe terminal cu Dialog și în cele din urmă o bară de progres pentru a controla pasul următor către modulul următor.

Selección_002

Selección_003

Selección_004

MODULUL DE SELECȚIE A INTERFEȚEI UTILIZATORULUI


# 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

Funcția acestui modul este de a crea o fereastră de tip meniu care permite alegerea unei opțiuni cu ajutorul tastaturii și al mouse-ului. Fiecare opțiune poate executați o comandă de comandă, un modul, o funcție sau un alt script. În acest caz special, era obișnuit stocați o valoare într-o variabilă care va permite apoi decide o comandă în funcție de conținutul acesteia.

Selección_005

Selección_006

Selección_007

MODULUL PENTRU SELECȚIA ȘI EXECUTAREA MODULURILOR SUPLIMENTARE


# 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
       

Funcția acestui modul este de a executa o opțiune predefinită pe baza unei valori stocate anterior într-o variabilă. În acest caz, acea variabilă ar declanșa o selecție între a continua să efectuați numai activități prin consolă cu comenzi și interfețe grafice cu dialog ó prin interfețe grafice pentru mediul desktop cu Zenity și Gxmessage.

Selección_008

Selección_009

Selección_010

Selección_010

Selección_011

MODULUL DE ADIO


# 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               

Funcția acestui modul este de a afișa un mesaj de la consola de rămas bun și de a șterge fișierul executării sale cu succes.

Sub un screencast unde se arată cum sunt executate aceste module și cele anterioare, astfel încât să poată verifica modul în care funcționează toate modulele afișate în timpul celor 8 lecții anterioare și să certifice puterea shell a Scripting are un nivel superior:

Video de testare script

Și de ce ar trebui să folosim interfețele utilizatorului de consolă sau mediul grafic pentru scriptul nostru?

Trebuie să ne amintim că interfețe grafice de utilizator, de asemenea cunoscut ca si GUI (Interfață grafică pentru utilizator) sunt mijloace utilizate pentru a reprezenta informațiile și acțiunile disponibile în interfața inferioară, utilizând un set de imagini și obiecte grafice. Utilizarea sa principală constă din oferiți un mediu vizual simplu pentru a permite comunicarea cu sistemul de operare al unei mașini sau computer.

De obicei, efectuăm acțiunile prin interacțiunea directă cu echipamentul, adică prin tastarea comenzilor sau executarea unui script cu tastatura. Da GUI apar ca o evoluție a liniei de comandă a primelor sisteme de operare și devenind piesa fundamentală într-un mediu grafic.

Și într-un context de proces de interacțiune om-computer, GUI este mediul tehnologic interactiv care ne permite, prin utilizarea și contextualizarea grafică a limbajului vizual, o interacțiune prietenoasă cu un sistem informatic.

Utilizarea interfețelor grafice ne oferă avantaje și dezavantaje, cum ar fi:

Printre avantaje: Facilitează gestionarea procedurilor, Afișează fiecare comandă pe ecran printr-o imagine sau obiect, Oferă utilizatorului mecanisme standardizate de control, cum ar fi ferestre și casete de dialog, Permite utilizatorului să interacționeze cu sistemul într-un mod mai ușor.

Printre dezavantaje: Folosește mai multe resurse ale sistemului de operare, complexitate, timp de dezvoltare și costuri pentru realizarea unei astfel de dezvoltări.

Dacă doriți să aflați mai multe despre cum să creați interfețe noi și mai frumoase în Terminal sau pe desktop, vă recomand să aflați câteva comenzi care sunt folosite pentru a construi ferestre de dialog cu posibilitatea de a primi sau de a oferi informații care pot fi acționate cu scripturi bash, cum ar fi la fel de:

dialog: În Manual de dialog ne oferă diferitele opțiuni pe care le aveți.

gxmessage: În Manual Gxmessage ne oferă diferitele opțiuni pe care le aveți.

Zenitate: În Manualul Zenity ne oferă diferitele opțiuni pe care le aveți.

Și dacă doriți să dați o notă și mai specială și mai interactivă Scriptului dvs. (Programe) fie cu Bash shell sau altul Coajă Vă recomand aceste alte programe care, bine folosite, vă pot ajuta să creați adevărate minuni fără a fi foarte priceput în problemele Shell Scripting. Printre aceste programe avem:

  • notifica-trimite: Comandă foarte utilă pentru a face notificări pentru evenimente, cum ar fi notificarea când sosește un e-mail, un contact este pus online și a face memento-uri despre diferite sarcini. 
  • a pune: Comandă care este utilizată printre multe lucruri pentru a poziționa cursorul pe ecran, a șterge datele de pe ecran, a cunoaște numărul de linii și coloane de pe ecran, a poziționa corect un câmp, a șterge un câmp a cărui intrare a fost detectată ca o eroare. Oricum, aproape toată parametrizarea ecranului se face prin această comandă. 
  • setle: Comandă care permite controlul tastelor de activare și dezactivare a literelor majuscule / minuscule, a tastaturii numerice și a tastaturii defilante individual pentru fiecare consolă și desktop.

Ei bine, până acum această serie!


Fii primul care comenteaza

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.