Ponovno dobrodošli ovom novom lekcija (# 8) del Tečaj (Vodič) na Skriptiranje školjki ”. U navedenom 7 lekcije Uspjeli smo napraviti i / ili naučiti kako stvoriti određene module (odjeljke) kodova sa određenim funkcionalnostima Shell skriptiranje koristeći Bash Shell kao interpretator izvedbe. Dosadašnji moduli su:
Da odete na prethodni post (lekcija 7) pritisnite sljedeću poveznicu:
U ovu osmi (8) S druge strane, koncentrirat ćemo se na izgradnju nekoliko modula, a to su sljedeći:
MODUL KONFIGURACIJE 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
Funkcija ovog modula je ukazati programu da konzola za obavljanje zadataka koji zahtijevaju internetsku povezanost zahtijeva proxy. Ako ti ne ukazuje na ništa (Ključ ući bez stavljanja bilo kakve IP) program će to pretpostaviti nije potreban proxy, u suprotnom morate navesti a IP: LUKA, da bi mogao konfigurirati privremeni odlazni proxy i izvršiti povezivanje.
MODUL DOBRODOŠLI
# 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
Funkcija ovog modula je pokazati a Natpis dobrodošlice korisniku ručno dizajniranom s alfanumeričkim i nealfanumeričkim znakovima. Zatim informativni prozor poruke po terminalu sa dijalog i na kraju traka napretka za kontrolu sljedećeg koraka do sljedećeg modula.
MODUL ODABIRA KORISNIČKOG SUČELJA
# 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
Funkcija ovog modula je stvaranje prozora tipa izbornika koji omogućuje odabir opcije uz upotrebu tipkovnice i miša. Svaka opcija može izvršiti naredbu naredbe, modul, funkciju ili drugu skriptu. U ovom konkretnom slučaju to je bilo naviknuto pohraniti vrijednost u varijablu što će onda dopustiti odlučiti o nalogu prema njegovom sadržaju.
MODUL ZA ODABIR I IZVRŠENJE DODATNIH MODULA
# 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
Funkcija ovog modula je izvršavanje unaprijed definirane opcije na temelju vrijednosti prethodno pohranjene u varijabli. U ovom bi slučaju ta varijabla pokrenula odabir između nastavka obavljanja samo aktivnosti putem konzole s naredbama i grafičkim sučeljima s dijalogom ó putem grafičkih sučelja za radno okruženje s Zenity i Gxmessage.
MODUL OPROŠTAJA
# 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
Funkcija ovog modula je prikazati poruku na oproštajnoj konzoli i izbrisati datoteku uspješnog izvršenja.
Ispod a screencast gdje je prikazano kako se izvode ovi i prethodni moduli kako bi provjerili kako rade svi moduli prikazani tijekom prethodnih 8 lekcija i potvrdili snagu Shell skriptiranje ima višu razinu:
I zašto bismo trebali koristiti sučelje korisničkog sučelja ili grafičko okruženje za našu skriptu?
Moramo se toga sjetiti grafičko korisničko sučelje, također poznat kao GUI (grafičko korisničko sučelje) su medij koji se koristi za predstavljanje informacija i radnji dostupnih u donjem sučelju, koristeći skup slika i grafičkih objekata. Njegova glavna upotreba sastoji se od pružaju jednostavno vizualno okruženje koje omogućuje komunikaciju s operativnim sustavom stroja ili računala.
Obično radnje provodimo izravnom interakcijom s opremom, tj. Tipkanjem naredbi ili izvršavanjem skripte s tipkovnicom. I GUI se pojavljuju kao evolucija naredbenog retka prvih operativnih sustava i postajući temeljnim dijelom u grafičkom okruženju.
I u kontekstu proces interakcije čovjek-računalo, GUI je interaktivni tehnološki medij koji nam kroz upotrebu i grafičku kontekstualizaciju vizualnog jezika omogućuje prijateljsku interakciju s računalnim sustavom.
Korištenje grafičkih sučelja pružaju nam prednosti i nedostatke, kao što su:
Među prednostima: Olakšati rukovanje procedurama, prikazati svaku naredbu na zaslonu kroz sliku ili objekt, pružiti standardizirane kontrolne mehanizme poput prozora i dijaloških okvira korisniku, omogućiti korisniku lakšu interakciju sa sustavom.
Među nedostacima: Koristi više resursa operacijskog sustava, složenost, vrijeme razvoja i troškove takvog razvoja.
Ako želite znati više o tome kako napraviti nova i ljepša sučelja u terminalu ili na radnoj površini, preporučujem vam da naučite neke naredbe koje se koriste za izgradnju dijaloških prozora s mogućnošću primanja ili davanja aktivnih informacija s bash skriptama, poput kao:
dijalog: U Priručnik za dijalog daje nam različite mogućnosti koje imate.
Gx poruka: U Gxmessage priručnik daje nam različite mogućnosti koje imate.
Zenty: U Zenity priručnik daje nam različite mogućnosti koje imate.
A ako želite dati još posebniji i interaktivniji dodir vašoj skripti (programi) bilo s Bash školjka ili drugo Ljuska Preporučujem ove druge programe koji vam, dobro korišteni, mogu pomoći u stvaranju istinskih čuda, a da niste baš vješti u pitanjima Shell Scripting. Među tim programima imamo:
- obavijestiti-poslati: Vrlo korisna naredba za obavještavanje o događajima kao što je obavijest o dolasku e-pošte, kontakt na mreži i izrada podsjetnika na razne zadatke.
- staviti: Naredba koja se koristi među mnogim stvarima za postavljanje kursora na zaslon, brisanje podataka sa zaslona, poznavanje broja redaka i stupaca na zaslonu, pravilno postavljanje polja, brisanje polja čiji je ulaz otkriven kao pogreška. U svakom slučaju, ovom se naredbom vrši gotovo sva parametrizacija zaslona.
- uređeni: Naredba koja omogućuje kontrolu tipki za aktiviranje i deaktiviranje velikih / malih slova, numeričke tipkovnice i tipke za pomicanje pojedinačno za svaku konzolu i radnu površinu.
Pa, zasad ova serija!












