Vytvorte si program krok za krokom pomocou programu Shell Scripting - časť 8

Ešte raz vitajte k tomuto novému lekcia (č. 8) del Kurz (výučba) na Shell Scripting “. Vo vyššie uvedenom Lekcie 7 Dokázali sme vyrobiť a / alebo dozvedieť sa, ako vytvoriť určité moduly (sekcie) kódov so špecifickými funkciami  Skriptovanie pomocou Bash Shell ako tlmočník výkonu. Tieto moduly sú zatiaľ:

Shell skriptovanie

Ísť do predchádzajúci príspevok (lekcia 7) stlačte nasledujúci odkaz:

V tejto ôsmy (8) Na druhej strane sa zameriame na konštrukciu niekoľkých modulov, ktorými sú:

KONFIGURAČNÝ MODUL 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

Funkciou tohto modulu je indikovať programu, že konzola na vykonávanie úloh, ktoré vyžadujú pripojenie k internetu, vyžaduje proxy server. Ak ty nič nenaznačuje (Kľúč vstúpiť bez uvedenia akejkoľvek adresy IP), program to bude predpokladať nie je potrebný proxy server, inak musíte uviesť a IP: PORT, aby mohla nakonfigurovať dočasný odchádzajúci server proxy a vykonať pripojenie.

Výber_001

VITAJÚCI 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
             

Funkciou tohto modulu je zobraziť a Uvítací banner používateľovi ručne navrhnutému pomocou alfanumerických a nealfanumerických znakov. Potom okno informačnej správy pre každý terminál s Dialóg a nakoniec indikátor priebehu, ktorý ovláda ďalší krok k ďalšiemu modulu.

Výber_002

Výber_003

Výber_004

MODUL VÝBERU UŽÍVATEĽSKÉHO ROZHRANIA


# 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

Funkciou tohto modulu je vytvoriť okno typu ponuky, ktoré umožňuje výber možnosti pomocou klávesnice a myši. Každá možnosť môže vykonať príkazový príkaz, modul, funkciu alebo iný skript. V tomto konkrétnom prípade to bolo zvyknuté uložiť hodnotu do premennej čo potom umožní rozhodnúť o objednávke podľa jej obsahu.

Výber_005

Výber_006

Výber_007

MODUL PRE VÝBER A VYKONÁVANIE ĎALŠÍCH 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
       

Funkciou tohto modulu je vykonať preddefinovanú možnosť na základe hodnoty predtým uloženej v premennej. V tomto prípade by táto premenná spustila výber medzi pokračovaním iba vo vykonávaní činností cez konzolu s príkazmi a grafické rozhrania s dialógom ó prostredníctvom grafických rozhraní pre desktopové prostredie s programami Zenity a Gxmessage.

Výber_008

Výber_009

Výber_010

Výber_010

Výber_011

MODEL ROZLÚČKY


# 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               

Funkciou tohto modulu je zobraziť správu na rozlúčkovú konzolu a vymazať súbor o jej úspešnom vykonaní.

Pod a screencast kde sa ukazuje, ako sa tieto a predchádzajúce moduly vykonávajú, aby skontrolovali, ako fungujú všetky moduly zobrazené počas predchádzajúcich 8 lekcií, a overili výkon Shell skriptovanie má vyššiu úroveň:

Skriptové testovacie video

A prečo by sme mali k svojmu skriptu používať používateľské rozhranie konzoly alebo grafické prostredie?

Musíme si to pamätať grafické užívateľské rozhrania, taktiež známy ako GUI (grafické užívateľské rozhranie) sú to médium slúžiace na predstavenie informácií a akcií dostupných v dolnom rozhraní pomocou sady obrázkov a grafických objektov. Jeho hlavné použitie spočíva v poskytujú jednoduché vizuálne prostredie umožňujúce komunikáciu s operačným systémom stroja alebo počítača.

Zvyčajne vykonávame akcie priamou interakciou s vybavením, to znamená písaním príkazov alebo vykonaním skriptu pomocou klávesnice. A GUI sa javia ako vývoj príkazového riadku prvých operačných systémov a stať sa základnou súčasťou grafického prostredia.

A v kontexte proces interakcie človek-počítač, GUI je interaktívne technologické médium, ktoré nám umožňuje pomocou a grafickej kontextualizácie vizuálneho jazyka priateľskú interakciu s počítačovým systémom.

Používanie grafických rozhraní nám poskytuje výhody a nevýhody, ako napríklad:

Medzi výhody patrí: Uľahčiť manipuláciu s postupmi, Zobraziť každý príkaz na obrazovke prostredníctvom obrázka alebo objektu, Poskytnúť používateľovi štandardizované kontrolné mechanizmy, ako sú okná a dialógové okná, Umožniť používateľovi jednoduchšiu interakciu so systémom.

Medzi nevýhody: Využíva viac zdrojov operačného systému, zložitosť, čas potrebný na vývoj a náklady spojené s takýmto vývojom.

Ak sa chcete dozvedieť viac o tom, ako vytvoriť nové a krajšie rozhrania v Termináli alebo na ploche, odporúčam vám dozvedieť sa viac o niektorých príkazoch, ktoré sa používajú na vytváranie dialógových okien so schopnosťou prijímať alebo poskytovať užitočné informácie pomocou skriptov bash, ako napríklad:

Dialóg: V Manuál dialógu dáva nám rôzne možnosti, ktoré máte.

Správa Gx: V Manuál Gxmessage dáva nám rôzne možnosti, ktoré máte.

Zenita: V Príručka Zenity dáva nám rôzne možnosti, ktoré máte.

A ak chcete svojmu skriptu (programom) dať ešte zvláštnejší a interaktívnejší nádych, buď pomocou Bash Shell alebo iný Mušla Odporúčam tieto ďalšie programy, ktoré, ak sa používajú dobre, vám môžu pomôcť vytvoriť skutočné zázraky bez toho, aby ste boli veľmi zruční v problémoch so skriptovaním Shell. Medzi týmito programami máme:

  • upozorniť-poslať: Veľmi užitočný príkaz na odosielanie upozornení na udalosti, ako je napríklad upozornenie na príchod e-mailu, kontakt je uvedený online a pripomína rôzne úlohy. 
  • výstup: Príkaz, ktorý sa používa okrem iného na umiestnenie kurzora na obrazovku, vymazanie údajov z obrazovky, poznanie počtu riadkov a stĺpcov na obrazovke, správne umiestnenie poľa, vymazanie poľa, ktorého vstup bol zistený ako chyba. Týmto príkazom sa každopádne vykoná takmer všetka parametrizácia obrazovky. 
  • osadníci: Príkaz, ktorý umožňuje ovládať aktivačné a deaktivačné klávesy pre veľké / malé písmená, numerickú klávesnicu a rolovaciu klávesnicu zvlášť pre každú konzolu a pracovnú plochu.

No zatiaľ táto séria!


Zanechajte svoj komentár

Vaša e-mailová adresa nebude zverejnená. Povinné položky sú označené *

*

*

  1. Zodpovedný za údaje: Miguel Ángel Gatón
  2. Účel údajov: Kontrolný SPAM, správa komentárov.
  3. Legitimácia: Váš súhlas
  4. Oznamovanie údajov: Údaje nebudú poskytnuté tretím stranám, iba ak to vyplýva zo zákona.
  5. Ukladanie dát: Databáza hostená spoločnosťou Occentus Networks (EU)
  6. Práva: Svoje údaje môžete kedykoľvek obmedziť, obnoviť a vymazať.