Byg dit program trin for trin ved hjælp af Shell Scripting - Del 8

Endnu engang bienvenidos til dette nye lektion (nr. 8) den Kursus (Tutorial) om Shell Scripting ”. I ovenstående 7 lektioner Vi var i stand til at skabe og / eller lære om, hvordan man opretter bestemte moduler (sektioner) af koder med specifikke funktioner igennem  Shell Scripting ved hjælp af Bash Shell som præstatolk. Disse moduler er hidtil:

Shell Scripting

At gå til forrige indlæg (lektion 7) tryk på følgende link:

I denne ottende (8) På den anden side vil vi koncentrere os om opbygningen af ​​flere moduler, disse er følgende:

PROXY-KONFIGURATIONSMODULEN:


# 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

Funktionen af ​​dette modul er at angive over for programmet, at konsollen til at udføre opgaver, der kræver internetforbindelse, kræver en proxy. hvis du angiver ikke noget (Nøgle Indtast uden at lægge nogen IP) antager programmet det ingen fuldmagt kræves, ellers skal du angive en IP: PORT, for at den skal konfigurere en midlertidig udgående proxy og udføre forbindelse.

Valg_001

VELKOMMENMODULEN


# 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
             

Dette moduls funktion er at vise en Velkomstbanner til brugeren manuelt designet med alfanumeriske og ikke-alfanumeriske tegn. Derefter et informationsvindue pr. Terminal med dialog og endelig en statuslinje til at styre det næste trin til det næste modul.

Valg_002

Valg_003

Valg_004

VALGMODULEN FOR BRUGERGRÆNSEFLADET


# 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

Funktionen til dette modul er at oprette et menu-vindue, der giver mulighed for at vælge en mulighed med brug af både tastaturet og musen. Hver mulighed kan udføre en kommandokommando, et modul, en funktion eller et andet script. I dette særlige tilfælde var det vant til gem en værdi i en variabel som derefter tillader beslutte en ordre i henhold til dens indhold.

Valg_005

Valg_006

Valg_007

VALG OG UDFØRELSESMODUL TIL YDERLIGERE MODULER


# 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
       

Funktionen af ​​dette modul er at udføre en foruddefineret mulighed baseret på en værdi, der tidligere er gemt i en variabel. I dette tilfælde vil denne variabel udløse et valg mellem kun at fortsætte med at udføre aktiviteter via konsol med kommandoer og grafiske grænseflader med dialog ó via grafiske grænseflader til skrivebordsmiljøet med Zenity og Gxmessage.

Valg_008

Valg_009

Valg_010

Valg_010

Valg_011

FARVELMODULEN


# 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               

Dette moduls funktion er at vise en besked fra afskedskonsollen og slette den vellykkede eksekveringsfil af den samme.

Under en screencast hvor det vises, hvordan disse moduler og de foregående udføres, så de kontrollerer, hvordan alle moduler, der vises i løbet af de foregående 8 lektioner, fungerer og certificerer kraften i Shell Scripting har et højere niveau:

Script-testvideo

Og hvorfor skal vi bruge konsolbrugergrænseflader eller grafiske omgivelser til vores script?

Det skal vi huske grafiske brugergrænseflader, også kendt som GUI (grafisk brugergrænseflade) de er midler, der bruges til at repræsentere de tilgængelige oplysninger og handlinger i den nederste grænseflade ved hjælp af et sæt billeder og grafiske objekter. Dens vigtigste anvendelse består af giver et simpelt visuelt miljø, der muliggør kommunikation med operativsystemet på en maskine eller computer.

Vi udfører normalt handlinger gennem direkte interaktion med udstyret, det vil sige ved at skrive kommandoer eller udføre et script med tastaturet. OG GUI'er opstår som en udvikling af kommandolinjen i de første operativsystemer og bliver det grundlæggende stykke i et grafisk miljø.

Og i en sammenhæng med interaktionsproces mellem menneske og computer, GUI er det interaktive teknologiske medium, der giver os mulighed for, gennem brug og grafisk kontekstualisering af visuelt sprog, en venlig interaktion med et computersystem.

Brug af grafiske grænseflader giver os fordele og ulemper, såsom:

Blandt fordelene: Gør håndtering af procedurer lettere, Vis hver kommando på skærmen gennem et billede eller objekt, Giv standardiserede kontrolmekanismer såsom vinduer og dialogbokse til brugeren, Tillad brugeren at interagere med systemet på en lettere måde.

Blandt ulemperne: Det bruger flere operativsystemressourcer, kompleksitet, udviklingstid og omkostninger ved at udføre en sådan udvikling.

Hvis du vil vide mere om, hvordan du laver nye og smukkere grænseflader i Terminal eller på skrivebordet, anbefaler jeg, at du lærer om nogle kommandoer, der bruges til at oprette dialogvinduer med muligheden for at modtage eller give handlingsmæssige oplysninger med bash-scripts, f.eks. som:

dialog: I Dialoghåndbog giver os de forskellige muligheder, du har.

Gx-meddelelse: I Gxmessage Manual giver os de forskellige muligheder, du har.

Zenty: I Zenity Manual giver os de forskellige muligheder, du har.

Og hvis du vil give et endnu mere specielt og interaktivt touch til dit script (programmer) enten med Bash Shell eller andet Shell Jeg anbefaler disse andre programmer, der, når de bruges godt, kan hjælpe dig med at skabe ægte vidundere uden at være meget dygtig til Shell Scripting-spørgsmål. Blandt disse programmer har vi:

  • underret-send: Meget nyttig kommando til at lave underretninger om begivenheder som f.eks. At underrette, når en e-mail ankommer, en kontakt sættes online og foretage påmindelser om forskellige opgaver. 
  • sætte: Kommando, der bruges blandt mange ting til at placere markøren på skærmen, slette data fra skærmen, kende antallet af linjer og kolonner på skærmen, placere et felt korrekt, slette et felt, hvis input blev registreret som en fejl. Under alle omstændigheder udføres næsten al parameterisering af skærmen ved hjælp af denne kommando. 
  • afregner: Kommando, der gør det muligt at styre aktiverings- og deaktiveringstasterne for store / små bogstaver, det numeriske tastatur og det rullende tastatur individuelt for hver konsol og skrivebord.

Nå, indtil videre denne serie!


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.