Veel kord bienvenidos selle uue juurde õppetund (# 8) kohta Kursus (õpetus) edasi Shelli skriptimine ”. Eespool 7 õppetunnid Saime koostada ja / või teada saada, kuidas luua teatud funktsioonidega koodide teatud mooduleid (jaotisi) Shelli skriptimine Bash Shelli abil etendustõlgina. Need moodulid on seni:
Et minna eelmine postitus (õppetund 7) vajutage järgmist linki:
Sel kaheksas (8) Osaliselt keskendume mitme mooduli ehitamisele, mis on järgmised:
PRAKSIKONFIGUURIMISMOODUL:
# 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
Selle mooduli ülesandeks on näidata programmile, et konsool Interneti-ühendust vajavate ülesannete täitmiseks vajab puhverserverit. Kui sa ei näita midagi (Võti sisene ilma IP-d panemata) eeldab programm seda puhverserverit pole vaja, vastasel juhul peate märkima a IP: PORT, et konfigureerida ajutine väljaminev puhverserver ja ühenduvus.
Tere tulemast moodul
# 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
Selle mooduli ülesandeks on näidata a Tere tulemast bänner kasutajale, kes on käsitsi kujundatud tähtnumbriliste ja mitte-tähtnumbriliste tähtedega. Seejärel informatiivne sõnumiaken terminali kohta Dialoog ja lõpuks edenemisriba järgmise mooduli järgmise sammu juhtimiseks.
KASUTAJA LIIDESE VALIMISMOODUL
# 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
Selle mooduli ülesandeks on luua menüü tüüpi aken, mis võimaldab valida valiku nii klaviatuuri kui ka hiire abil. Iga võimalus saab käivitada käsukäsk, moodul, funktsioon või muu skript. Sel konkreetsel juhul oli see harjunud salvestada väärtus muutujasse mis siis lubab otsustada tellimus vastavalt selle sisule.
LISAMoodulite valimise ja täitmise moodul
# 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
Selle mooduli ülesandeks on eelnevalt määratletud valiku käivitamine muutujasse varem salvestatud väärtuse põhjal. Sel juhul käivitaks see muutuja valiku ainult tegevuse jätkamise vahel konsooli kaudu koos käskude ja graafiliste liidestega dialoogiga ó graafiliste liideste kaudu töölauakeskkonnale Zenity ja Gxmessage abil.
HÜVITAMISMOODUL
# 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
Selle mooduli ülesandeks on näidata hüvastijätukonsooli sõnumit ja kustutada selle edukas täitmisfail.
Allpool a Screencast kus näidatakse, kuidas neid ja eelmisi mooduleid täidetakse, et nad saaksid kontrollida, kuidas kõik eelmise 8 tunni jooksul näidatud moodulid töötavad, ja tõendada Shelli skriptimine on kõrgemal tasemel:
Ja miks peaksime oma skripti jaoks kasutama konsooli kasutajaliideseid või graafilist keskkonda?
Peame seda meeles pidama graafilised kasutajaliidesed, tuntud ka kui GUI (graafiline kasutajaliides) nad on vahend, mida kasutatakse alumisel liidesel saadaoleva teabe ja toimingute esitamiseks, kasutades piltide ja graafiliste objektide komplekti. Selle peamine kasutusala on pakkuma lihtsat visuaalset keskkonda, mis võimaldab suhelda masina või arvuti operatsioonisüsteemiga.
Tavaliselt teostame toiminguid otsese suhtluse kaudu seadmetega, see tähendab käskude tippimisega või klaviatuuriga skripti käivitamisega. JA GUI-d tekivad kui esimeste operatsioonisüsteemide käsurea evolutsioon ja muutumas põhiliseks tükiks graafilises keskkonnas.
Ja kontekstis inimese ja arvuti suhtlemisprotsess, GUI on interaktiivne tehnoloogiline meedium, mis võimaldab meil visuaalse keele kasutamise ja graafilise kontekstualiseerimise kaudu sõbralikku suhtlust arvutisüsteemiga.
Graafiliste liideste kasutamine pakub meile eeliseid ja puudusi, näiteks:
Eelised: Protseduuride käsitlemise hõlbustamine, iga käsu kuvamine ekraanil pildi või objekti kaudu, kasutajatele standardsete juhtimismehhanismide, näiteks aknad ja dialoogiboksid, võimaldamine kasutajal süsteemiga lihtsamal viisil suhelda.
Puuduste hulgas: See kasutab rohkem arendussüsteemi ressursse, keerukust, arendusaega ja kulusid.
Kui soovite rohkem teada saada, kuidas teha uusi ja ilusamaid liideseid terminalis või töölaual, soovitan teil õppida mõningate käskude kohta, mida kasutatakse dialoogiakende loomiseks koos võimalusega vastu võtta või anda toimivat teavet bashi skriptidega, näiteks kui:
Dialoog: Aastal Dialoogi käsiraamat annab meile erinevad võimalused.
gxmessage: Aastal Gxmessage'i käsiraamat annab meile erinevad võimalused.
Zenty: Aastal Zenity käsiraamat annab meile erinevad võimalused.
Ja kui soovite oma skriptile (programmidele) veelgi erilisema ja interaktiivsema lihvi anda, siis kas Bash kest vm Shell Soovitan neid muid programme, mis hea kasutamise korral aitavad teil luua tõelisi imesid, ilma et oleksite Shell Scriptinguga seotud probleemides väga osav. Nende programmide hulgas on:
- teatama-saatma: Väga kasulik käsk teatada sündmustest, näiteks e-kirja saabumisest teavitamine, kontakti ühendamine võrgus ja meeldetuletuste tegemine mitmesugustest ülesannetest.
- pane: Käsk, mida kasutatakse muu hulgas kursori paigutamiseks ekraanile, ekraanilt andmete kustutamiseks, ekraanil olevate ridade ja veergude arvu teadmiseks, välja õige paigutamiseks, välja kustutamiseks, mille sisend tuvastati veana. Igatahes toimub peaaegu kogu ekraani parameetrite määramine selle käsu abil.
- rahutu: Käsk, mis võimaldab juhtida suurte / väikeste tähtede, numbriklaviatuuri ja kerimisklaviatuuri sisse- ja väljalülitamisklahve iga konsooli ja töölaua jaoks eraldi.
Noh, siiani see sari!












