Zgradite svoj program korak za korakom s pomočjo skriptov lupine - 8. del

Ponovno bienvenidos temu novemu lekcija (# 8) od Tečaj (Vadnica) na Skriptiranje lupine «. V zgornjem 7 lekcij S pomočjo smo lahko izdelali in / ali spoznali, kako ustvariti določene module (odseke) kod s posebnimi funkcionalnostmi  Shell Scripting z uporabo Bash Shell kot interpretator izvedbe. Ti moduli so do zdaj:

Shell Scripting

Če želite iti v prejšnja objava (lekcija 7) pritisnite naslednjo povezavo:

V tem primeru osmi (8) Po drugi strani se bomo osredotočili na konstrukcijo več modulov, in sicer naslednjih:

MODUL KONFIGURACIJE 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

Funkcija tega modula je, da programu nakaže, da konzola za izvajanje nalog, ki zahtevajo internetno povezavo, potrebuje proxy. Če ti ne označuje ničesar (Ključ Vnesite brez dajanja IP-ja) bo program to prevzel proxy ni potreben, sicer morate navesti a IP: PORT, da lahko konfigurira začasni odhodni proxy in izvede povezljivost.

Izbira_001

DOBRODOŠLI MODUL


# 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
             

Funkcija tega modula je prikazati a Pasica dobrodošlice uporabniku, ročno oblikovanem z alfanumeričnimi in ne-alfanumeričnimi znaki. Nato okno z informacijskim sporočilom na terminal z Dialog in na koncu vrstica napredka za nadzor naslednjega koraka do naslednjega modula.

Izbira_002

Izbira_003

Izbira_004

MODUL IZBIRE UPORABNIŠKEGA VMESNIKA


# 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

Funkcija tega modula je ustvariti menijsko okno, ki omogoča izbiro možnosti z uporabo tipkovnice in miške. Vsaka možnost lahko izvedite ukazni ukaz, modul, funkcijo ali drug skript. V tem konkretnem primeru je bil vajen shrani vrednost v spremenljivko kar bo potem dovolilo odločite se za naročilo glede na njegovo vsebino.

Izbira_005

Izbira_006

Izbira_007

MODUL ZA IZBIRO IN IZVEDBO DODATNIH MODULOV


# 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
       

Funkcija tega modula je izvršiti vnaprej določeno možnost na podlagi vrednosti, ki je bila predhodno shranjena v spremenljivki. V tem primeru bi ta spremenljivka sprožila izbiro med nadaljevanjem izvajanja dejavnosti prek konzole z ukazi in grafičnimi vmesniki z pogovornim oknom ó prek grafičnih vmesnikov za namizno okolje z Zenity in Gxmessage.

Izbira_008

Izbira_009

Izbira_010

Izbira_010

Izbira_011

MODUL OBRAČEVANJA


# 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               

Funkcija tega modula je prikazati sporočilo poslovilne konzole in izbrisati datoteko njegovega uspešnega izvajanja.

Spodaj a Skrinjica kjer je prikazano, kako se izvajajo ti in prejšnji moduli, da lahko preverijo, kako delujejo vsi moduli, prikazani v prejšnjih osmih lekcijah, in potrdijo moč Shell Scripting ima višjo raven:

Video za preizkus scenarija

In zakaj bi morali uporabiti konzolne uporabniške vmesnike ali grafično okolje za naš skript?

Tega se moramo zavedati grafični uporabniški vmesniki, poznan tudi kot GUI (grafični uporabniški vmesnik) oni so tisti sredstva, ki se uporabljajo za predstavitev informacij in dejanj, ki so na voljo v spodnjem vmesniku, z uporabo nabora slik in grafičnih predmetov. Njegova glavna uporaba je zagotoviti preprosto vizualno okolje, ki omogoča komunikacijo z operacijskim sistemom stroja ali računalnika.

Dejanja običajno izvajamo z neposredno interakcijo z opremo, to je s tipkanjem ukazov ali izvajanjem skripte s tipkovnico. IN GUI se pojavijo kot razvoj ukazne vrstice prvih operacijskih sistemov in postaja temeljni del v grafičnem okolju.

In v kontekstu proces interakcije med človekom in računalnikom, GUI je interaktivni tehnološki medij, ki nam z uporabo in grafično kontekstualizacijo vizualnega jezika omogoča prijazno interakcijo z računalniškim sistemom.

Uporaba grafičnih vmesnikov nam daje prednosti in slabosti, kot so:

Med prednostmi: Olajšajte obdelavo postopkov, na zaslonu prikažite vsak ukaz skozi sliko ali predmet, uporabniku zagotovite standardizirane nadzorne mehanizme, kot so okna in pogovorna okna, omogočite uporabniku lažjo interakcijo s sistemom.

Med slabostmi: Uporablja več virov operacijskega sistema, zapletenost, čas razvoja in stroške takšnega razvoja.

Če želite izvedeti več o tem, kako narediti nove in lepše vmesnike v terminalu ali na namizju, vam priporočam, da se seznanite z nekaterimi ukazi, ki se uporabljajo za izdelavo pogovornih oken z možnostjo prejemanja ali dajanja ustreznih informacij s skripti bash, na primer kot:

Pogovorno okno: V Priročnik za pogovorno okno nam daje različne možnosti, ki jih imate.

Sporočilo Gx: V Gxmessage priročnik nam daje različne možnosti, ki jih imate.

Zenty: V Priročnik Zenity nam daje različne možnosti, ki jih imate.

Če želite svojemu skriptu (programi) dati še bolj poseben in interaktiven pridih, bodisi z Bash Shell ali drugo Shell Priporočam te druge programe, ki vam ob dobri uporabi pomagajo ustvariti prave čudeže, ne da bi bili zelo usposobljeni za vprašanja v zvezi s skripti Shell. Med temi programi imamo:

  • obvesti-pošlji: Zelo uporaben ukaz za obveščanje o dogodkih, na primer obveščanje o prihodu e-pošte, vzpostavitev stika v spletu in opozarjanje na različna opravila. 
  • postavi: Ukaz, ki se med drugim uporablja za postavitev kurzorja na zaslon, brisanje podatkov z zaslona, ​​poznavanje števila vrstic in stolpcev na zaslonu, pravilno postavitev polja, brisanje polja, katerega vnos je bil zaznan kot napaka. Kakorkoli že, ta ukaz izvede skoraj vso parametrizacijo zaslona. 
  • določeni: Ukaz, ki omogoča upravljanje tipk za vklop in izklop velikih / malih črk, številske tipkovnice in pomične tipkovnice posebej za vsako konzolo in namizje.

No, zaenkrat ta serija!


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Za podatke odgovoren: Miguel Ángel Gatón
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.