Поново биенвенидос овом новом лекција (# 8) дел Курс (Водич) на Схелл Сцриптинг ”. У наведеном 7 лекција Успели смо да направимо и / или научимо како да креирамо одређене модуле (одељке) кодова са одређеним функционалностима Схелл скриптирање помоћу Басх Схелл-а као интерпретатор перформанса. Досадашњи модули су:
Да одем до претходни пост (лекција 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
Функција овог модула је да укаже програму да конзола за обављање задатака који захтевају интернет конекцију захтева проки. ако ти не указује на ништа (Кључ унети без стављања било какве ИП) програм ће то претпоставити није потребан прокси, у супротном морате навести а ИП: ЛУКА, да би могао да конфигурише привремени одлазни прокси и изврши повезивање.
# 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
Функција овог модула је да изврши унапред дефинисану опцију на основу вредности која је претходно сачувана у променљивој. У овом случају, та променљива би покренула избор између наставка обављања само активности преко конзоле са командама и графичким интерфејсима са дијалогом ó преко графичких интерфејса за Десктоп Енвиронмент са Зенити и Гкмессаге.
# 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
Функција овог модула је приказивање поруке на опроштајној конзоли и брисање датотеке њеног успешног извршења.
Испод а Сцреенцаст где је приказано како се изводе ови и претходни модули како би могли да провере како функционишу сви модули приказани током претходних 8 часова и потврде снагу Схелл Сцриптинг има виши ниво:
И зашто бисмо требали користити конзолу корисничког интерфејса или графичког окружења за нашу скрипту?
То морамо запамтити графички кориснички интерфејси, такође познат као ГУИ (графички кориснички интерфејс) они су медијум који се користи за представљање информација и радњи доступних у доњем интерфејсу, користећи скуп слика и графичких објеката. Његова главна употреба састоји се од пружају једноставно визуелно окружење које омогућава комуникацију са оперативним системом машине или рачунара.
Обично радње спроводимо директном интеракцијом са опремом, односно куцањем команди или извршавањем скрипте помоћу тастатуре. И ГУИ се појављују као еволуција командне линије првих оперативних система и постајући основни комад у графичком окружењу.
И у контексту процес интеракције човек-рачунар, ГУИ је интерактивни технолошки медиј који нам кроз употребу и графичку контекстуализацију визуелног језика омогућава пријатељску интеракцију са рачунарским системом.
Коришћење графичких интерфејса пружају нам предности и недостатке, као што су:
Међу предностима: Олакшати руковање процедурама, приказати сваку наредбу на екрану кроз слику или објекат, пружити стандардизоване контролне механизме као што су прозори и дијалошки оквири за корисника, омогућити кориснику лакшу интеракцију са системом.
Међу недостацима: Користи више ресурса оперативног система, сложеност, време развоја и трошкове таквог развоја.
Ако желите да сазнате више о томе како да направите нове и лепше интерфејсе у терминалу или на радној површини, препоручујем вам да се упознате са неким командама које се користе за изградњу дијалошких прозора са могућношћу примања или давања активних информација помоћу бас скрипти, као што су:
Дијалог: У Приручник за дијалог даје нам различите могућности које имате.
Гкмессаге: У Гкмессаге Мануал даје нам различите могућности које имате.
Зенити: У Зенити приручник даје нам различите могућности које имате.
А ако желите да свом скрипту (програми) дате још посебнији и интерактивнији додир, било помоћу Баш шкољка или друго Граната Препоручујем ове друге програме који вам, када се добро користе, могу помоћи да створите права чуда, а да нисте баш вешти у питањима Схелл Сцриптинг. Међу овим програмима имамо:
- нотифи-сенд: Веома корисна команда за обавештавање о догађајима као што је обавештавање када стигне е-пошта, контакт се стави на мрежу и подсећа на разне задатке.
- тпут: Команда која се користи међу многим стварима за позиционирање курсора на екрану, брисање података са екрана, познавање броја линија и колона на екрану, правилно позиционирање поља, брисање поља чији је улаз откривен као грешка. У сваком случају, овом командом се врши готово сва параметризација екрана.
- сетледс: Команда која омогућава контролу тастера за активирање и деактивирање великих / малих слова, нумеричке тастатуре и тастатуре за померање појединачно за сваку конзолу и радну површину.
Па, засад ова серија!