Kurkite savo programą žingsnis po žingsnio naudodami „Shell Scripting“ - 8 dalį

Dar kartą bienvenidos į šį naują pamoka (# 8) del Kursas (pamoka) apie „Shell Scripting“. Pirmiau 7 pamokos Mes galėjome sukurti ir (arba) sužinoti, kaip sukurti tam tikrus kodų modulius (sekcijas) su specifinėmis funkcijomis  „Shell“ scenarijai naudojant „Bash Shell“ kaip spektaklio vertėjas. Šie moduliai kol kas yra:

"Shell scenarijus

Norėdami eiti į ankstesnis įrašas (7 pamoka) paspauskite šią nuorodą:

Šiuo aštuntas (8) Kita vertus, mes sutelksime dėmesį į kelių modulių statybą, kurie yra šie:

PROXY KONFIGURAVIMO MODULIS:


# 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

Šio modulio funkcija yra nurodyti programai, kad konsolei, norint atlikti užduotis, kurioms reikalingas interneto ryšys, reikalingas tarpinis serveris. Jei tu nieko nenurodo (Raktas įeiti nededant jokio IP) programa manys, kad nereikalingas įgaliojimas, priešingu atveju turite nurodyti a IP: Uostas, kad jis sukonfigūruotų laikiną siunčiamą tarpinį serverį ir atliktų ryšį.

Pasirinkimas_001

SVEIKINAMAS MODULIS


# 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
             

Šio modulio funkcija yra parodyti a Sveiki reklamjuostė vartotojui rankiniu būdu sudarytas iš raidinių ir skaitmeninių simbolių. Tada informacinis pranešimų langas kiekvienam terminalui su Dialogas ir galiausiai eigos juosta, skirta valdyti kitą žingsnį į kitą modulį.

Pasirinkimas_002

Pasirinkimas_003

Pasirinkimas_004

VARTOTOJO SĄSAJOS PASIRINKIMO MODULIS


# 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

Šio modulio funkcija yra sukurti meniu tipo langą, kuriame būtų galima pasirinkti parinktį naudojant klaviatūrą ir pelę. Kiekvienas variantas gali vykdyti komandos komandą, modulį, funkciją ar kitą scenarijų. Šiuo konkrečiu atveju buvo įprasta išsaugoti vertę kintamajame kuri tada leis nuspręsti užsakymą pagal jo turinį.

Pasirinkimas_005

Pasirinkimas_006

Pasirinkimas_007

PAPILDOMŲ MODULIŲ PASIRINKIMO IR VYKDYMO MODULIS


# 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
       

Šio modulio funkcija yra atlikti iš anksto nustatytą parinktį pagal anksčiau kintamajame išsaugotą vertę. Šiuo atveju tas kintamasis paskatins pasirinkti tik tęsti veiklą per konsolę su komandomis ir grafinėmis sąsajomis su dialogu ó per grafines sąsajas darbalaukio aplinkai su „Zenity“ ir „Gxmessage“.

Pasirinkimas_008

Pasirinkimas_009

Pasirinkimas_010

Pasirinkimas_010

Pasirinkimas_011

Atsisveikinimo modulis


# 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               

Šio modulio funkcija yra parodyti atsisveikinimo pulto pranešimą ir ištrinti sėkmingo jo vykdymo failą.

Žemiau a Screencast kur parodyta, kaip vykdomi šie ir ankstesni moduliai, kad jie galėtų patikrinti, kaip veikia visi moduliai, parodyti per ankstesnes 8 pamokas, ir patvirtinti modulio galią "Shell scenarijus turi aukštesnį lygį:

Scenarijaus testo vaizdo įrašas

Ir kodėl mes turėtume naudoti konsolės vartotojo sąsajas ar grafinę aplinką prie savo scenarijaus?

Turime tai prisiminti grafinės vartotojo sąsajos, taip pat žinomas kaip GUI (grafinė vartotojo sąsaja) jie yra priemonės, naudojamos vaizduoti informaciją ir veiksmus, esančius apatinėje sąsajoje, naudojant vaizdų ir grafinių objektų rinkinį. Pagrindinį jo panaudojimą sudaro: sudaryti paprastą vaizdinę aplinką, leidžiančią bendrauti su mašinos ar kompiuterio operacine sistema.

Paprastai veiksmus atliekame tiesiogiai sąveikaujant su įranga, tai yra, įvesdami komandas arba vykdydami scenarijų klaviatūra. IR GUI atsiranda kaip pirmųjų operacinių sistemų komandinės eilutės evoliucija ir tampa pagrindiniu kūriniu grafinėje aplinkoje.

Ir kontekste žmogaus ir kompiuterio sąveikos procesas, GUI yra interaktyvi technologinė terpė, leidžianti mums, naudojant ir grafinę vaizdinės kalbos kontekstualizaciją, draugiškai bendrauti su kompiuterine sistema.

Grafinių sąsajų naudojimas suteikia mums pranašumų ir trūkumų, tokių kaip:

Tarp privalumų: Palengvinkite procedūrų tvarkymą, kiekvieną komandą ekrane rodykite per vaizdą ar objektą, pateikite vartotojui standartizuotus valdymo mechanizmus, tokius kaip langai ir dialogo langai, leiskite vartotojui lengviau bendrauti su sistema.

Tarp trūkumų: Tam reikia daugiau operacinės sistemos išteklių, sudėtingumo, kūrimo laiko ir tokio kūrimo išlaidų.

Jei norite sužinoti daugiau apie tai, kaip sukurti naujas ir gražesnes sąsajas „Terminal“ ar darbalaukyje, rekomenduoju sužinoti apie kai kurias komandas, kurios naudojamos kuriant dialogo langus su galimybe gauti ar pateikti naudingos informacijos naudojant „bash“ scenarijus, pvz., kaip:

dialogas: Į Dialogo vadovas suteikia mums skirtingas galimybes.

„Gxmessage“: Į „Gxmessage“ vadovas suteikia mums skirtingas galimybes.

Dvasingumas: Į „Zenity“ vadovas suteikia mums skirtingas galimybes.

Ir jei norite suteikti dar ypatingesnį ir interaktyvesnį scenarijaus (programų) prisilietimą, naudokite arba Basho apvalkalas ar kita apvalkalas Aš rekomenduoju šias kitas programas, kurios, tinkamai panaudotos, gali padėti sukurti tikrus stebuklus, nebūdami labai kvalifikuoti „Shell Scripting“ klausimais. Tarp šių programų turime:

  • pranešti-siųsti: Labai naudinga komanda pranešti apie įvykius, pvz., Pranešti, kai gaunamas el. Laiškas, kontaktas yra prijungtas prie interneto ir primenama apie įvairias užduotis. 
  • įdėti: Komanda, naudojama daugeliui dalykų, norint žymeklį užfiksuoti ekrane, ištrinti duomenis iš ekrano, žinoti eilučių ir stulpelių skaičių ekrane, teisingai išdėstyti lauką, ištrinti lauką, kurio įvestis buvo aptikta kaip klaida. Šiaip ar taip, beveik visi ekrano parametrai atliekami šia komanda. 
  • sumuštiniai: Komanda, leidžianti valdyti didžiųjų / mažųjų raidžių, skaitinės klaviatūros ir slinkties klaviatūros įjungimo ir išjungimo klavišus atskirai kiekvienai konsolei ir darbalaukiui.

Na, kol kas ši serija!


Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.