Ndërtoni programin tuaj hap pas hapi duke përdorur Shell Scripting - Pjesa 8

Edhe njehere i mirëpritur për këtë të ri mësimi (# 8) del Kursi (Tutorial) Shkrime Shell ”. Në sa më sipër 7 mësime Ne ishim në gjendje të krijonim dhe / ose të mësonim se si të krijonim disa module (seksione) të kodeve me funksionalitete specifike përmes  Skriptimi i Shell duke përdorur Bash Shell si interpret i performancës. Këto module deri më tani janë:

Shell Scripting

Për të shkuar në postimi i mëparshëm (mësimi 7) shtypni lidhjen e mëposhtme:

Në këtë e teta (8) Nga ana tjetër, ne do të përqendrohemi në ndërtimin e disa moduleve, këto që vijojnë:

MODULI I KONFIGURIMIT 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

Funksioni i këtij moduli është t'i tregojë programit se tastiera për të kryer detyra që kërkojnë lidhje interneti kërkon një proxy. nëse ti nuk tregon asgjë (Celës Shkruani pa vendosur ndonjë IP) programi do të supozojë se nuk kërkohet përfaqësues, përndryshe duhet të tregoni një IP: PORTI, që ai të konfigurojë një përfaqësues të përkohshëm nga jashtë dhe të kryejë lidhje.

Përzgjedhja_001

MODULI I MIRC SE VINI


# 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
             

Funksioni i këtij moduli është të tregojë një Pankarta e mirëseardhjes te përdoruesi i hartuar manualisht me karaktere alfanumerike dhe jo alfanumerike. Pastaj një dritare mesazhesh informative për terminal me dialog dhe së fundmi një shirit progresi për të kontrolluar hapin tjetër në modulin tjetër.

Përzgjedhja_002

Përzgjedhja_003

Përzgjedhja_004

MODULI I PLECTRZGJEDHJES S INT NDERRKOMBTARIT T P USRDORUESIT


# 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

Funksioni i këtij moduli është të krijojë një dritare të tipit menu që lejon zgjedhjen e një opsioni me përdorimin e tastierës dhe miut. Secili opsion mundet ekzekutoni një komandë komande, një modul, një funksion ose një skript tjetër. Në këtë rast të veçantë, ishte mësuar të ruaj një vlerë në një ndryshore e cila më pas do të lejojë vendos një urdhër sipas përmbajtjes së tij.

Përzgjedhja_005

Përzgjedhja_006

Përzgjedhja_007

MODULI P FORR ZGJEDHJEN DHE ZBATIMIN E MODELEVE SHTES


# 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
       

Funksioni i këtij moduli është të ekzekutojë një opsion të paracaktuar bazuar në një vlerë të ruajtur më parë në një ndryshore. Në këtë rast, ajo variabël do të shkaktonte një zgjedhje midis vazhdimit të kryerjes së aktiviteteve vetëm përmes konsolës me komanda dhe ndërfaqeve grafike me dialog ó përmes ndërfaqeve grafike për Desktop Environment me Zenity dhe Gxmessage.

Përzgjedhja_008

Përzgjedhja_009

Përzgjedhja_010

Përzgjedhja_010

Përzgjedhja_011

MODULI I SHKURTR


# 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               

Funksioni i këtij moduli është të tregojë një mesazh nga tastiera e lamtumirës dhe të fshijë skedarin e ekzekutimit të tij të suksesshëm.

Poshtë një Screencast ku tregohet se si ekzekutohen këto module dhe ato të mëparshmet në mënyrë që ata të mund të kontrollojnë se si funksionojnë të gjitha modulet e treguara gjatë 8 mësimeve të mëparshme dhe të vërtetojnë fuqinë e Shell Scripting ka një nivel më të lartë:

Video e Testit të Skenarit

Dhe pse duhet të përdorim ndërfaqet e përdoruesit të konsolës ose mjedisin grafik në Skriptin tonë?

Ne duhet ta kujtojmë atë ndërfaqet grafike të përdoruesit, i njohur edhe si GUI (ndërfaqja grafike e përdoruesit) ata janë mjete që përdoren për të përfaqësuar informacionin dhe veprimet e disponueshme në ndërfaqen e poshtme, duke përdorur një sërë imazhesh dhe objektesh grafike. Përdorimi kryesor i tij përbëhet nga të sigurojë një mjedis të thjeshtë vizual për të lejuar komunikimin me sistemin operativ të një makine ose kompjuteri.

Zakonisht ne i kryejmë veprimet përmes ndërveprimit të drejtpërdrejtë me pajisjet, domethënë duke shtypur komanda ose ekzekutuar një skenar me tastierë. DHE GUI shfaqen si një evolucion i linjës komanduese të sistemeve të para operative dhe duke u bërë pjesa themelore në një mjedis grafik.

Dhe në një kontekst të procesi i bashkëveprimit njeri-kompjuter, GUI është medium teknologjik ndërveprues që na lejon, përmes përdorimit dhe kontekstualizimit grafik të gjuhës vizuale, një ndërveprim miqësor me një sistem kompjuterik.

Përdorimi i ndërfaqeve grafike na ofron avantazhe dhe disavantazhe, të tilla si:

Ndër avantazhet: Lehtësimi i trajtimit të procedurave, Shfaqja e secilës komandë në ekran përmes një imazhi ose objekti, Sigurimi i përdoruesve të mekanizmave të standardizuar të kontrollit, të tilla si dritaret dhe kutitë e dialogut, Lejoni përdoruesin të ndërveprojë me sistemin në një mënyrë më të lehtë.

Ndër disavantazhet: Ai përdor më shumë burime të sistemit operativ, kompleksitetin, kohën e zhvillimit dhe koston për të bërë një zhvillim të tillë.

Nëse dëshironi të dini më shumë se si të bëni ndërfaqe të reja dhe më të bukura në Terminal ose në Desktop, unë ju rekomandoj të mësoni rreth disa komandave që përdoren për të ndërtuar dritare dialogu me aftësinë për të marrë ose për të dhënë informacion të veprueshëm me skriptet bash, të tilla si:

Dialogu:Manuali i dialogut na jep opsionet e ndryshme që ju keni.

Mesazhi Gx:Manuali i Gxmessage na jep opsionet e ndryshme që ju keni.

Zeniteti:Manuali i Zenity na jep opsionet e ndryshme që ju keni.

Dhe nëse doni t'i jepni një prekje edhe më të veçantë dhe ndërvepruese Skriptit (Programit) tuaj ose me Guaskë bash ose një tjetër Predhë Unë rekomandoj këto programe të tjera që, të përdorura mirë, mund t'ju ndihmojnë të krijoni mrekulli të vërteta pa qenë shumë të aftë në çështjet e Shkrimit të Shellit. Ndër këto programe kemi:

  • njoftoni-dërgoni: Komandë shumë e dobishme për të bërë njoftime për ngjarje të tilla si njoftimi kur mbërrin një email, një kontakt vendoset në internet dhe bën kujtesa për detyra të ndryshme. 
  • vendos: Komanda e përdorur midis shumë gjërave për të pozicionuar kursorin në ekran, për të fshirë të dhëna nga ekrani, për të njohur numrin e linjave dhe kolonave në ekran, për të pozicionuar saktë një fushë, për të fshirë një fushë hyrja e së cilës u zbulua si gabim. Gjithsesi, pothuajse i gjithë parametri i ekranit bëhet nga kjo komandë. 
  • vendosen: Komanda që lejon të kontrollojë çelësat e aktivizimit dhe çaktivizimit të shkronjave të mëdha / të vogla, tastierës numerike dhe tastierës lëvizëse individualisht për secilën tastierë dhe desktop.

Epo, deri më tani kjo seri!


Lini komentin tuaj

Adresa juaj e emailit nuk do të publikohet. Fusha e kërkuar janë shënuar me *

*

*

  1. Përgjegjës për të dhënat: Miguel Ángel Gatón
  2. Qëllimi i të dhënave: Kontrolloni SPAM, menaxhimin e komenteve.
  3. Legjitimimi: Pëlqimi juaj
  4. Komunikimi i të dhënave: Të dhënat nuk do t'u komunikohen palëve të treta përveç me detyrim ligjor.
  5. Ruajtja e të dhënave: Baza e të dhënave e organizuar nga Occentus Networks (BE)
  6. Të drejtat: Në çdo kohë mund të kufizoni, rikuperoni dhe fshini informacionin tuaj.