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ľ:
Í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.
# 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.
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.
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.
# 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ň:
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!