Rakenna ohjelma vaihe vaiheelta käyttämällä Shell Scripting - Osa 8

Taas kerran Bienvenidos tähän uuteen oppitunti (# 8) ja Kurssi (opetusohjelma) päälle Shell-komentosarjat ”. Edellä 7-oppitunnit Pystyimme tekemään ja / tai oppimaan kuinka luoda tiettyjä moduuleja (jaksoja) koodeista, joilla on tiettyjä toimintoja  Shell-komentosarjat käyttämällä Bash Shell -ohjelmaa suorituskyvyn tulkkina. Nämä moduulit ovat toistaiseksi:

Shell-komentosarjatMennä edellinen viesti (oppitunti 7) paina seuraavaa linkkiä:

Tässä kahdeksas (8) Toisaalta keskitymme useiden moduulien rakentamiseen, jotka ovat seuraavat:

PROXY-MÄÄRITTELYMODUULI:


# 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

Tämän moduulin tehtävänä on osoittaa ohjelmalle, että konsoli Internet-yhteyttä edellyttävien tehtävien suorittamiseen vaatii välityspalvelimen. Jos sinä ei osoita mitään (Avain enter asettamatta IP-osoitetta) ohjelma olettaa sen välityspalvelinta ei tarvita, muuten sinun on ilmoitettava a IP: PORTTI, jotta se voi määrittää väliaikaisen lähtevän välityspalvelimen ja suorittaa yhteyden.

Valinta_001TERVETULO-MODUULI


# 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
             

Tämän moduulin tehtävänä on näyttää a Tervetuloa banneri käyttäjälle, joka on manuaalisesti suunniteltu aakkosnumeerisilla ja ei-aakkosnumeerisilla merkeillä. Sitten informatiivinen viesti-ikkuna terminaalia kohden Vuoropuhelu ja lopuksi edistymispalkki seuraavan modulin seuraavan vaiheen ohjaamiseksi.

Valinta_002Valinta_003Valinta_004KÄYTTÄJÄN LIITÄNTÄN VALINTAMODUULI


# 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

Tämän moduulin tehtävänä on luoda valikkotyyppinen ikkuna, jonka avulla voidaan valita vaihtoehto sekä näppäimistön että hiiren avulla. Jokainen vaihtoehto voi Suorita komentokomento, moduuli, toiminto tai muu komentosarja. Tässä nimenomaisessa tapauksessa siihen oli tottunut tallentaa arvon muuttujaan joka sitten sallii päättää tilauksen sen sisällön mukaan.

Valinta_005Valinta_006Valinta_007LISÄMODUULIEN VALINTA- JA TOTEUTUSMODUULI


# 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
       

Tämän moduulin tehtävänä on suorittaa ennalta määritetty vaihtoehto, joka perustuu aiemmin muuttujaan tallennettuun arvoon. Tässä tapauksessa muuttuja laukaisi valinnan vain toimintojen jatkamisen välillä konsolin kautta komennoilla ja graafisilla rajapinnoilla valintaikkunan kanssa ó graafisten käyttöliittymien kautta työpöytäympäristölle Zenity ja Gxmessage.

Valinta_008Valinta_009Valinta_010Valinta_010Valinta_011JÄTEMEREN MODUULI


# 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               

Tämän moduulin tehtävänä on näyttää viesti jäähyväiskonsolin kautta ja poistaa tiedosto sen onnistuneesta suorituksesta.

Alla a screencast missä näytetään kuinka nämä ja edelliset moduulit suoritetaan, jotta he voivat tarkistaa kuinka kaikki edellisen kahdeksan oppitunnin aikana esitetyt moduulit toimivat, ja varmentaa Shell-komentosarjat on korkeampi:

Script Test Video

Ja miksi meidän pitäisi käyttää komentojemme käyttöliittymiä tai graafista ympäristöä?

Meidän on muistettava se graafiset käyttöliittymät, tunnetaan myös GUI (graafinen käyttöliittymä) he ovat väline, jota käytetään kuvaamaan alemman käyttöliittymän tietoja ja toimintoja käyttämällä joukkoa kuvia ja graafisia objekteja. Sen pääasiallinen käyttö koostuu tarjota yksinkertainen visuaalinen ympäristö kommunikoinnin mahdollistamiseksi koneen tai tietokoneen käyttöjärjestelmän kanssa.

Suoritamme yleensä toimia suorassa vuorovaikutuksessa laitteen kanssa, ts. Kirjoittamalla komentoja tai suorittamalla komentosarjan näppäimistöllä. JA GUI: t syntyvät ensimmäisen käyttöjärjestelmän komentorivin evoluutiona ja siitä tulee peruskappale graafisessa ympäristössä.

Ja yhteydessä ihmisen ja tietokoneen vuorovaikutusprosessi, graafinen käyttöliittymä on interaktiivinen tekninen väline, joka mahdollistaa visuaalisen kielen käytön ja graafisen kontekstualisoinnin kautta ystävällisen vuorovaikutuksen tietokonejärjestelmän kanssa.

Graafisten rajapintojen käyttö tarjoaa meille etuja ja haittoja, kuten:

Etuista: Helpottaa toimenpiteiden käsittelyä, tarkastele kutakin ruudun komentoa kuvan tai objektin kautta, Tarjoa käyttäjälle vakioituja hallintamekanismeja, kuten ikkunoita ja valintaikkunoita, Anna käyttäjän olla vuorovaikutuksessa järjestelmän kanssa helpommalla tavalla.

Haittojen joukossa: Se käyttää enemmän käyttöjärjestelmän resursseja, monimutkaisuutta, kehitysaikaa ja tällaisen kehityksen kustannuksia.

Jos haluat tietää enemmän uusien ja kauniimpien käyttöliittymien tekemisestä Terminalissa tai työpöydällä, suosittelen, että opit joistakin komennoista, joita käytetään valintaikkunoiden rakentamiseen kyvyllä vastaanottaa tai antaa toiminnallisia tietoja bash-skripteillä, kuten:

vuoropuhelu: Että Valintaikkuna antaa meille erilaisia ​​vaihtoehtoja.

Gx-viesti: Että Gxmessage-käsikirja antaa meille erilaisia ​​vaihtoehtoja.

Zenty: Että Zenity-käsikirja antaa meille erilaisia ​​vaihtoehtoja.

Ja jos haluat antaa vielä erityisemmän ja interaktiivisemman kosketuksen komentosarjaasi (ohjelmiin) joko Bash Shell tai toinen Kuori Suosittelen näitä muita ohjelmia, jotka hyvin käytettynä voivat auttaa sinua luomaan todellisia ihmeitä olematta kovin taitavia Shell Scripting -asioissa. Näiden ohjelmien joukossa meillä on:

  • ilmoita-lähetä: Erittäin hyödyllinen komento tehdä ilmoituksia tapahtumista, kuten ilmoittaminen sähköpostin saapuessa, yhteyshenkilö asetetaan verkkoon ja muistutusten tekeminen erilaisista tehtävistä. 
  • tput: Komento, jota käytetään muun muassa kohdistimen sijoittamiseen ruudulle, tietojen poistamiseen näytöltä, ruudun rivien ja sarakkeiden määrän tuntemiseen, kentän sijoittamiseen oikein, kentän poistamiseen, jonka syötteen havaittiin olevan virhe. Joka tapauksessa melkein kaikki näytön parametroinnit tehdään tällä komennolla. 
  • järkyttyneitä: Komento, jonka avulla voidaan hallita isojen / pienten kirjainten, numeronäppäimistön ja vieritysnäppäimistön aktivointi- ja deaktivointinäppäimiä erikseen jokaiselle konsolille ja työpöydälle.

No, toistaiseksi tämä sarja!


Artikkelin sisältö noudattaa periaatteita toimituksellinen etiikka. Ilmoita virheestä napsauttamalla täällä.

Ole ensimmäinen kommentti

Jätä kommentti

Sähköpostiosoitettasi ei julkaista.

*

*

  1. Vastuussa tiedoista: Miguel Ángel Gatón
  2. Tietojen tarkoitus: Roskapostin hallinta, kommenttien hallinta.
  3. Laillistaminen: Suostumuksesi
  4. Tietojen välittäminen: Tietoja ei luovuteta kolmansille osapuolille muutoin kuin lain nojalla.
  5. Tietojen varastointi: Occentus Networks (EU) isännöi tietokantaa
  6. Oikeudet: Voit milloin tahansa rajoittaa, palauttaa ja poistaa tietojasi.