Αλλη μια φορά bienvenidos σε αυτό το νέο μάθημα (# 8) del Μάθημα (Tutorial) επί Shell Scripting ». Στα παραπάνω 7 μαθήματα Καταφέραμε να φτιάξουμε ή / και να μάθουμε πώς να δημιουργούμε συγκεκριμένες ενότητες (ενότητες) κωδικών με συγκεκριμένες λειτουργίες Shell Scripting χρησιμοποιώντας Bash Shell ως διερμηνέας απόδοσης. Αυτές οι ενότητες μέχρι στιγμής είναι:
Για να παω στο προηγούμενη ανάρτηση (μάθημα 7) πατήστε τον ακόλουθο σύνδεσμο:
Σε αυτό όγδοο (8) Από την άλλη πλευρά, θα επικεντρωθούμε στην κατασκευή πολλών ενοτήτων, οι οποίες είναι οι εξής:
Η ΕΝΟΤΗΤΑ ΔΙΑΜΟΡΦΩΣΗΣ 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
Η λειτουργία αυτής της λειτουργικής μονάδας είναι να υποδείξει στο πρόγραμμα ότι η κονσόλα για την εκτέλεση εργασιών που απαιτούν σύνδεση στο Διαδίκτυο απαιτεί διακομιστή μεσολάβησης. Αν εσύ δεν δείχνει τίποτα (Κλειδί εισάγετε χωρίς να τοποθετήσετε IP) το πρόγραμμα θα το υποθέσει αυτό δεν απαιτείται διακομιστής μεσολάβησης, αλλιώς πρέπει να δηλώσετε ένα IP: Θύρα, για να διαμορφώσετε έναν προσωρινό διακομιστή μεσολάβησης και να εκτελέσετε συνδεσιμότητα.
Η ΜΟΝΑΔΑ ΚΑΛΩΣ ΗΡΘΑΤΕ
# 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
Η λειτουργία αυτής της ενότητας είναι να δείξει ένα Καλώς ήλθατε πανό στον χρήστη που έχει σχεδιαστεί χειροκίνητα με αλφαριθμητικούς και μη αλφαριθμητικούς χαρακτήρες. Στη συνέχεια, ένα παράθυρο ενημερωτικού μηνύματος ανά τερματικό με διάλογος και τέλος μια γραμμή προόδου για τον έλεγχο του επόμενου βήματος στην επόμενη ενότητα.
Η ΕΝΟΤΗΤΑ ΕΠΙΛΟΓΗΣ ΔΙΑΣΥΝΔΕΣΗΣ ΧΡΗΣΤΗ
# 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
Η λειτουργία αυτής της ενότητας είναι να δημιουργήσει ένα παράθυρο τύπου μενού που επιτρέπει την επιλογή μιας επιλογής με το πληκτρολόγιο και το ποντίκι. Κάθε επιλογή μπορεί εκτελέστε μια εντολή εντολής, μια ενότητα, μια συνάρτηση ή άλλο σενάριο. Σε αυτή τη συγκεκριμένη περίπτωση, συνηθίστηκε αποθηκεύστε μια τιμή σε μια μεταβλητή που θα το επιτρέψει Αποφασίστε μια παραγγελία σύμφωνα με το περιεχόμενό της.
Η ΕΝΟΤΗΤΑ ΕΠΙΛΟΓΗΣ ΚΑΙ ΕΚΤΕΛΕΣΗΣ ΠΡΟΣΘΕΤΩΝ ΕΝΟΤΗΤΩΝ
# 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
Η λειτουργία αυτής της λειτουργικής μονάδας είναι να εκτελέσει μια προκαθορισμένη επιλογή με βάση μια τιμή που είχε ήδη αποθηκευτεί σε μια μεταβλητή. Σε αυτήν την περίπτωση, αυτή η μεταβλητή θα προκαλούσε επιλογή μεταξύ της συνέχισης της εκτέλεσης δραστηριοτήτων μόνο μέσω κονσόλας με εντολές και γραφικών διεπαφών με διάλογο ó μέσω γραφικών διεπαφών για το περιβάλλον επιφάνειας εργασίας με Zenity και Gxmessage.
Η ΜΟΝΑΔΑ FAREWELL
# 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
Η λειτουργία αυτής της ενότητας είναι να εμφανίζει ένα μήνυμα από την αποχαιρετιστήρια κονσόλα και να διαγράψει το αρχείο της επιτυχούς εκτέλεσης.
Παρακάτω a Screencast όπου φαίνεται πώς εκτελούνται αυτές οι ενότητες και οι προηγούμενες ώστε να ελέγχουν πώς λειτουργούν όλες οι ενότητες που παρουσιάστηκαν στα προηγούμενα 8 μαθήματα και να πιστοποιήσουν τη δύναμη του Shell Scripting έχει υψηλότερο επίπεδο:
Και γιατί πρέπει να χρησιμοποιήσουμε διεπαφές χρήστη κονσόλας ή γραφικό περιβάλλον στο σενάριό μας;
Πρέπει να το θυμόμαστε αυτό γραφικές διεπαφές χρήστη, γνωστός και ως GUI (Γραφικό περιβάλλον χρήστη) είναι το μέσο που χρησιμοποιείται για την αναπαράσταση των πληροφοριών και των ενεργειών που διατίθενται στην κάτω διεπαφή, χρησιμοποιώντας ένα σύνολο εικόνων και γραφικών αντικειμένων. Η κύρια χρήση του αποτελείται από παρέχει ένα απλό οπτικό περιβάλλον που επιτρέπει την επικοινωνία με το λειτουργικό σύστημα μιας μηχανής ή υπολογιστή.
Συνήθως πραγματοποιούμε τις ενέργειες μέσω άμεσης αλληλεπίδρασης με τον εξοπλισμό, δηλαδή πληκτρολογώντας εντολές ή εκτελώντας ένα σενάριο με το πληκτρολόγιο. ΚΑΙ Τα GUI εμφανίζονται ως εξέλιξη της γραμμής εντολών των πρώτων λειτουργικών συστημάτων και να γίνει το βασικό κομμάτι σε ένα γραφικό περιβάλλον.
Και σε ένα πλαίσιο του διαδικασία αλληλεπίδρασης ανθρώπου-υπολογιστή, το GUI είναι το διαδραστικό τεχνολογικό μέσο που μας επιτρέπει, μέσω της χρήσης και του γραφικού πλαισίου της οπτικής γλώσσας, μιας φιλικής αλληλεπίδρασης με ένα σύστημα υπολογιστή.
Η χρήση γραφικών διεπαφών μας παρέχει πλεονεκτήματα και μειονεκτήματα, όπως:
Μεταξύ των πλεονεκτημάτων: Διευκόλυνση του χειρισμού των διαδικασιών, Εμφάνιση κάθε εντολής στην οθόνη μέσω εικόνας ή αντικειμένου, Παροχή τυποποιημένων μηχανισμών ελέγχου όπως παράθυρα και παράθυρα διαλόγου στον χρήστη, Επιτρέψτε στο χρήστη να αλληλεπιδρά με το σύστημα με ευκολότερο τρόπο.
Μεταξύ των μειονεκτημάτων: Χρησιμοποιεί περισσότερους πόρους λειτουργικού συστήματος, πολυπλοκότητα, χρόνο ανάπτυξης και κόστος για την πραγματοποίηση μιας τέτοιας ανάπτυξης.
Αν θέλετε να μάθετε περισσότερα σχετικά με τον τρόπο δημιουργίας νέων και πιο όμορφων διεπαφών στο Terminal ή στην επιφάνεια εργασίας, σας συνιστώ να μάθετε για ορισμένες εντολές που χρησιμοποιούνται για τη δημιουργία παραθύρων διαλόγου με τη δυνατότητα λήψης ή παροχής ενεργών πληροφοριών με σενάρια bash, όπως:
διάλογος: Στην Εγχειρίδιο διαλόγου μας δίνει τις διαφορετικές επιλογές που έχετε.
gxmessage: Στην Εγχειρίδιο Gxmessage μας δίνει τις διαφορετικές επιλογές που έχετε.
Zenty: Στην Εγχειρίδιο Zenity μας δίνει τις διαφορετικές επιλογές που έχετε.
Και αν θέλετε να δώσετε μια ακόμη πιο ειδική και διαδραστική πινελιά στο σενάριό σας (Προγράμματα) είτε με Bash Shell ή άλλο κέλυφος Συνιστώ αυτά τα άλλα προγράμματα που, καλά χρησιμοποιημένα, μπορούν να σας βοηθήσουν να δημιουργήσετε πραγματικά θαύματα χωρίς να είστε πολύ ειδικοί στα ζητήματα Shell Scripting. Μεταξύ αυτών των προγραμμάτων έχουμε:
- ειδοποίηση-αποστολή: Πολύ χρήσιμη εντολή για την πραγματοποίηση ειδοποιήσεων για συμβάντα, όπως η ειδοποίηση κατά την άφιξη ενός email, μια επαφή τοποθετείται στο διαδίκτυο και η υπενθύμιση διαφόρων εργασιών.
- βάζω: Εντολή που χρησιμοποιείται μεταξύ πολλών πραγμάτων για να τοποθετήσετε τον κέρσορα στην οθόνη, να διαγράψετε δεδομένα από την οθόνη, να γνωρίζετε τον αριθμό γραμμών και στηλών στην οθόνη, να τοποθετήσετε σωστά ένα πεδίο, να διαγράψετε ένα πεδίο του οποίου η είσοδος εντοπίστηκε ως σφάλμα. Τέλος πάντων, σχεδόν όλη η παραμετροποίηση της οθόνης γίνεται με αυτήν την εντολή.
- τρόποι: Εντολή που επιτρέπει τον έλεγχο των πλήκτρων ενεργοποίησης και απενεργοποίησης των κεφαλαίων / πεζών γραμμάτων, του αριθμητικού πληκτρολογίου και του πληκτρολογίου κύλισης ξεχωριστά για κάθε κονσόλα και επιφάνεια εργασίας.
Λοιπόν, μέχρι στιγμής αυτή η σειρά!












