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:
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šį.
# 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į.
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į.
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“.
# 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!