Още веднъж добре дошъл към това ново урок (# 8) дел Курс (Урок) за Shell Scripting ”. В горното 7 уроци Успяхме да направим и / или да научим как да създадем определени модули (раздели) на кодове със специфични функционалности чрез Shell Scripting с помощта на Bash Shell като преводач за изпълнение. Тези модули досега са:
За да отидете на предишна публикация (урок 7) натиснете следната връзка:
В този осми (8) От друга страна, ще се концентрираме върху изграждането на няколко модула, които са следните:
МОДУЛЪТ ЗА КОНФИГУРАЦИЯ НА ПРОКСИ:
# 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), програмата ще приеме това не се изисква прокси, в противен случай трябва да посочите a 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
Функцията на този модул е да показва a Добре дошли банер на потребителя, ръчно проектиран с буквено-цифрови и не-буквено-цифрови символи. След това прозорец с информационно съобщение на терминал с Диалог и накрая лента за напредък за контрол на следващата стъпка към следващия модул.
МОДУЛ ЗА ИЗБОР НА ПОТРЕБИТЕЛСКИ ИНТЕРФЕЙС
# 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.
# 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 Скрийнкаст където е показано как се изпълняват тези модули и предишните, за да проверят как работят всички модули, показани по време на предишните 8 урока, и да удостоверят силата на Скрипт на Shell има по-високо ниво:
И защо да използваме конзолен потребителски интерфейс или графична среда за нашия скрипт?
Трябва да помним това графични потребителски интерфейси, също известен като GUI (графичен потребителски интерфейс) те са носител, използван за представяне на информацията и действията, налични в долния интерфейс, като се използва набор от изображения и графични обекти. Основното му използване се състои от осигуряват проста визуална среда, която позволява комуникация с операционната система на машина или компютър.
Обикновено ние извършваме действията чрез директно взаимодействие с оборудването, тоест чрез въвеждане на команди или изпълнение на скрипт с клавиатурата. И GUI се появяват като еволюция на командния ред на първите операционни системи и се превръща в основната част в графичната среда.
И в контекста на процес на взаимодействие човек-компютър, GUI е интерактивната технологична среда, която ни позволява, чрез използването и графичната контекстуализация на визуалния език, приятелско взаимодействие с компютърна система.
Използването на графични интерфейси ни предоставя предимства и недостатъци, като например:
Сред предимствата: Улесняване на обработката на процедурите, Показване на всяка команда на екрана чрез изображение или обект, Предоставяне на стандартизирани механизми за контрол като прозорци и диалогови прозорци на потребителя, Позволете на потребителя да взаимодейства със системата по по-лесен начин.
Сред недостатъците: Той използва повече ресурси на операционната система, сложност, време за разработка и разходи за извършване на такова развитие.
Ако искате да научите повече за това как да направите нови и по-красиви интерфейси в терминала или на работния плот, препоръчвам ви да научите за някои команди, които се използват за изграждане на диалогови прозорци с възможност за получаване или предоставяне на активна информация с bash скриптове, като например:
диалог: В Диалогов наръчник ни дава различните опции, които имате.
Gx съобщение: В Gxmessage Ръководство ни дава различните опции, които имате.
Зенит: В Наръчник на Zenity ни дава различните опции, които имате.
И ако искате да придадете още по-специално и интерактивно докосване на вашия скрипт (програми) или с Баш Шел или друго Черупка Препоръчвам тези други програми, които, използвани добре, могат да ви помогнат да създадете истински чудеса, без да сте много квалифицирани в проблемите с Shell Scripting. Сред тези програми имаме:
- известяване-изпращане: Много полезна команда за извършване на известия за събития като известяване, когато пристигне имейл, контакт се поставя онлайн и прави напомняния за различни задачи.
- слагам: Команда, която се използва сред много неща за позициониране на курсора на екрана, изтриване на данни от екрана, познаване броя на редовете и колоните на екрана, правилно позициониране на поле, изтриване на поле, чийто вход е открит като грешка. Както и да е, почти цялата параметризация на екрана се извършва от тази команда.
- настанени: Команда, която ви позволява да контролирате клавишите за активиране и деактивиране на главни / малки букви, цифровата клавиатура и клавишите за превъртане поотделно за всяка конзола и работен плот.
Е, засега тази поредица!