Vytvořte si program krok za krokem pomocí prostředí Shell Scripting - část 8

Ještě jednou bienvenidos k tomuto novému lekce (č. 8) del Kurz (výuka) na Skriptování Shell “. Ve výše uvedeném 7 lekcí Byli jsme schopni vytvořit a / nebo se dozvědět, jak vytvořit určité moduly (sekce) kódů se specifickými funkcemi  Skriptování Shell pomocí Bash Shell jako tlumočník výkonu. Tyto moduly zatím jsou:

Shell skriptování

Chcete-li jít do předchozí příspěvek (lekce 7) stiskněte následující odkaz:

V této osmý (8) Na druhou stranu se zaměříme na konstrukci několika modulů, které jsou následující:

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

Funkcí tohoto modulu je indikovat programu, že konzole k provádění úkolů vyžadujících připojení k internetu vyžaduje proxy. jestli ty nic nenaznačuje (Klíč vstoupit bez uvedení jakékoli IP) program to předpokládá není vyžadován žádný proxy, jinak musíte uvést a IP: PORT, aby nakonfiguroval dočasný odchozí proxy server a provedl připojení.

Výběr_001

VÍTACÍ 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
             

Funkcí tohoto modulu je ukázat a Uvítací banner uživateli ručně navržený s alfanumerickými a nealfanumerickými znaky. Poté okno informační zprávy pro každý terminál s Dialog a nakonec ukazatel průběhu k ovládání dalšího kroku k dalšímu modulu.

Výběr_002

Výběr_003

Výběr_004

MODUL VÝBĚRU UŽIVATELSKÉHO ROZHRANÍ


# 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

Funkcí tohoto modulu je vytvořit okno typu nabídky, které vám umožní vybrat možnost pomocí klávesnice i myši. Každá možnost může provést příkazový příkaz, modul, funkci nebo jiný skript. V tomto konkrétním případě to bylo zvyklé uložit hodnotu do proměnné který pak umožní rozhodnout o objednávce podle jejího obsahu.

Výběr_005

Výběr_006

Výběr_007

MODUL PRO VÝBĚR A PROVÁDĚNÍ DALŠÍCH MODULŮ


# 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
       

Funkcí tohoto modulu je provést předdefinovanou možnost na základě hodnoty dříve uložené v proměnné. V tomto případě by tato proměnná spustila výběr mezi pokračováním pouze v provádění činností přes konzolu s příkazy a grafická rozhraní s dialogy ó prostřednictvím grafických rozhraní pro desktopové prostředí s Zenity a Gxmessage.

Výběr_008

Výběr_009

Výběr_010

Výběr_010

Výběr_011

MODEL ROZLOUČ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               

Funkcí tohoto modulu je ukázat zprávu na rozloučenou konzolu a odstranit soubor o jejím úspěšném provedení.

Pod a Screencast kde je ukázáno, jak jsou tyto a předchozí moduly prováděny, aby zkontrolovaly, jak fungují všechny moduly zobrazené během předchozích 8 lekcí, a ověřily sílu Shell skriptování má vyšší úroveň:

Testovací video skriptu

A proč bychom měli k našemu skriptu používat uživatelská rozhraní konzoly nebo grafické prostředí?

Musíme si to pamatovat grafická uživatelská rozhraní, také známý jako GUI (grafické uživatelské rozhraní) jsou médium sloužící k reprezentaci informací a akcí dostupných ve spodním rozhraní pomocí sady obrázků a grafických objektů. Jeho hlavní použití spočívá v poskytují jednoduché vizuální prostředí umožňující komunikaci s operačním systémem stroje nebo počítače.

Akce obvykle provádíme přímou interakcí se zařízením, tj. Zadáváním příkazů nebo spuštěním skriptu pomocí klávesnice. A GUI se objevují jako vývoj příkazového řádku prvních operačních systémů a stát se základním dílem v grafickém prostředí.

A v kontextu proces interakce člověka s počítačem„GUI je interaktivní technologické médium, které nám umožňuje pomocí a grafické kontextualizace vizuálního jazyka přátelskou interakci s počítačovým systémem.

Používání grafických rozhraní nám poskytuje výhody a nevýhody, například:

Mezi výhody: Usnadněte manipulaci s postupy, Zobrazte každý příkaz na obrazovce prostřednictvím obrázku nebo objektu, Poskytněte uživateli standardizované ovládací mechanismy, jako jsou okna a dialogová okna, Umožněte uživateli jednodušší interakci se systémem.

Mezi nevýhody: Využívá více prostředků operačního systému, složitost, čas na vývoj a náklady na takový vývoj.

Pokud se chcete dozvědět více o tom, jak vytvořit nová a krásnější rozhraní v Terminálu nebo na ploše, doporučuji vám seznámit se s některými příkazy, které se používají k vytváření dialogových oken se schopností přijímat nebo poskytovat užitečné informace pomocí bash skriptů, například tak jako:

dialog: V Manuál dialogu dává nám různé možnosti, které máte.

Zpráva Gx: V Manuál Gxmessage dává nám různé možnosti, které máte.

Zenty: V Příručka Zenity dává nám různé možnosti, které máte.

A pokud chcete svému skriptu (programům) dát ještě speciální a interaktivní nádech, buď pomocí Bash Shell nebo jiný Skořápka Doporučuji tyto další programy, které vám při správném použití mohou pomoci vytvořit opravdové divy, aniž byste byli velmi zruční v otázkách skriptování Shell. Mezi tyto programy patří:

  • upozornit-poslat: Velmi užitečný příkaz pro upozornění na události, jako je upozornění na příchod e-mailu, kontakt je uveden online a připomenutí různých úkolů. 
  • dát: Příkaz, který se používá mimo jiné k umístění kurzoru na obrazovku, vymazání dat z obrazovky, znát počet řádků a sloupců na obrazovce, správně umístit pole, vymazat pole, jehož vstup byl detekován jako chyba. Tímto příkazem je téměř provedena veškerá parametrizace obrazovky. 
  • usazené: Příkaz, který umožňuje ovládat aktivační a deaktivační klávesy velkých / malých písmen, numerické klávesnice a rolovací klávesnice zvlášť pro každou konzolu a plochu.

No, zatím tato série!


Zanechte svůj komentář

Vaše e-mailová adresa nebude zveřejněna. Povinné položky jsou označeny *

*

*

  1. Odpovědný za údaje: Miguel Ángel Gatón
  2. Účel údajů: Ovládací SPAM, správa komentářů.
  3. Legitimace: Váš souhlas
  4. Sdělování údajů: Údaje nebudou sděleny třetím osobám, s výjimkou zákonných povinností.
  5. Úložiště dat: Databáze hostovaná společností Occentus Networks (EU)
  6. Práva: Vaše údaje můžete kdykoli omezit, obnovit a odstranit.