Jeszcze raz powitanie do tego nowego lekcja (# 8) del Kurs (samouczek) na Skrypty powłoki ”. W powyższym 7 lekcji Udało nam się stworzyć i / lub dowiedzieć się, jak tworzyć określone moduły (sekcje) kodów o określonych funkcjonalnościach Skrypty powłoki przy użyciu powłoki Bash jako tłumacz wydajności. Do tej pory te moduły to:
Iść do poprzedni post (lekcja 7) naciśnij poniższy link:
W tym ósmy (8) Z drugiej strony skoncentrujemy się na budowie kilku modułów, a mianowicie:
MODUŁ KONFIGURACYJNY 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
Zadaniem tego modułu jest wskazanie programowi, że konsola do wykonywania zadań wymagających połączenia z Internetem wymaga proxy. Jeśli ty nic nie wskazuje (Klucz Wchodzę bez podania adresu IP) program to założy nie jest wymagane proxy, w przeciwnym razie musisz wskazać IP: PORT, aby skonfigurować tymczasowe wychodzące proxy i zapewnić łączność.
MODUŁ WELCOME
# 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
Funkcją tego modułu jest wyświetlanie pliku Baner powitalny dla użytkownika ręcznie zaprojektowane ze znakami alfanumerycznymi i niealfanumerycznymi. Następnie okno komunikatu informacyjnego na terminal z Dialog i wreszcie pasek postępu do kontrolowania następnego kroku do następnego modułu.
MODUŁ WYBORU INTERFEJSU UŻYTKOWNIKA
# 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
Funkcją tego modułu jest stworzenie okna typu menu, które pozwala na wybór opcji zarówno za pomocą klawiatury, jak i myszy. Każda opcja może wykonuje polecenie polecenia, moduł, funkcję lub inny skrypt. W tym konkretnym przypadku był do tego przyzwyczajony przechowywać wartość w zmiennej co wtedy pozwoli zdecydować o zamówieniu według jego treści.
MODUŁ DOBORU I WYKONANIA MODUŁÓW DODATKOWYCH
# 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
Funkcją tego modułu jest wykonanie predefiniowanej opcji na podstawie wartości poprzednio przechowywanej w zmiennej. W tym przypadku zmienna ta spowodowałaby wybór między kontynuowaniem wykonywania tylko czynności przez konsolę z poleceniami i interfejsami graficznymi z oknem dialogowym ó poprzez interfejsy graficzne dla środowiska graficznego z Zenity i Gxmessage.
MODUŁ POŻEGNANIA
# 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
Zadaniem tego modułu jest wyświetlenie komunikatu przez konsolę pożegnalną i usunięcie pliku z jego pomyślnym wykonaniem.
Poniżej a screencast gdzie pokazano, jak działają te i poprzednie moduły, aby mogli sprawdzić, jak działają wszystkie moduły pokazane podczas poprzednich 8 lekcji i poświadczyć moc Skrypty powłoki ma wyższy poziom:
I dlaczego powinniśmy używać interfejsów użytkownika konsoli lub środowiska graficznego do naszego skryptu?
Musimy to pamiętać graficzne interfejsy użytkownika, znany również jako GUI (graficzny interfejs użytkownika) są środki używane do reprezentowania informacji i działań dostępnych w dolnym interfejsie za pomocą zestawu obrazów i obiektów graficznych. Jego główne zastosowanie polega na zapewniają proste środowisko wizualne umożliwiające komunikację z systemem operacyjnym maszyny lub komputera.
Działania wykonujemy najczęściej poprzez bezpośrednią interakcję ze sprzętem, czyli wpisywanie poleceń lub wykonanie skryptu z klawiatury. I GUI pojawiły się jako ewolucja wiersza poleceń pierwszych systemów operacyjnych i stając się podstawowym elementem środowiska graficznego.
I w kontekście proces interakcji człowiek-komputerGUI jest interaktywnym medium technologicznym, które umożliwia nam, poprzez użycie i graficzną kontekstualizację języka wizualnego, przyjazną interakcję z systemem komputerowym.
Korzystanie z interfejsów graficznych daje nam wady i zalety, takie jak:
Wśród zalet: Ułatw obsługę procedur, Wyświetlaj każde polecenie na ekranie poprzez obraz lub obiekt, Zapewnij ujednolicone mechanizmy kontrolne, takie jak okna i okna dialogowe dla użytkownika, Pozwól użytkownikowi na łatwiejszą interakcję z systemem.
Wśród wad: Zajmuje więcej zasobów systemu operacyjnego, złożoności, czasu programowania i kosztów wykonania takiego rozwoju.
Jeśli chcesz dowiedzieć się więcej o tym, jak tworzyć nowe i piękniejsze interfejsy w Terminalu lub na pulpicie, polecam zapoznać się z niektórymi poleceniami używanymi do budowania okien dialogowych z możliwością otrzymywania lub podawania przydatnych informacji za pomocą skryptów bash, takich jak:
dialog: W Dialog Podręcznik daje nam różne opcje, które masz.
Wiadomość Gx: W Podręcznik Gxmessage daje nam różne opcje, które masz.
Zenty: W Podręcznik Zenity daje nam różne opcje, które masz.
A jeśli chcesz nadać swojemu skryptowi (programom) jeszcze bardziej szczególny i interaktywny charakter za pomocą Powłoka Bash lub inne Powłoka Polecam te inne programy, które, jeśli są dobrze używane, mogą pomóc w tworzeniu prawdziwych cudów bez posiadania dużej umiejętności w zakresie skryptów powłoki. Wśród tych programów mamy:
- powiadomić-wyślij: Bardzo przydatne polecenie do powiadamiania o zdarzeniach, takich jak powiadamianie o nadejściu wiadomości e-mail, kontakt jest umieszczany w trybie online i przypominanie o różnych zadaniach.
- wyślij: Polecenie używane między innymi do ustawiania kursora na ekranie, usuwania danych z ekranu, znajomości liczby wierszy i kolumn na ekranie, poprawnego pozycjonowania pola, kasowania pola, którego wpis został wykryty jako błąd. W każdym razie prawie cała parametryzacja ekranu odbywa się za pomocą tego polecenia.
- osady: Polecenie umożliwiające sterowanie klawiszami aktywacji i dezaktywacji wielkich / małych liter, klawiaturą numeryczną i klawiaturą przewijaną indywidualnie dla każdej konsoli i pulpitu.
Cóż, jak dotąd ta seria!












