Bienvenidos una vez más a la siguiente lección de tu Curso (Tutorial) en línea “Construye paso a paso tu programa usando Shell Scripting”. Hasta la lección anterior nos hemos paseado sobre como crear los siguientes módulos de un programa basado en Shell Scripting usando Bash Shell como interprete de ejecución:
- MODULO DE VALIDACIÓN DE SUPERUSUARIO ROOT
- MODULO DE VARIABLES DE ENTORNO
- MODULO DE DETECCIÓN DE DOBLE EJECUCIÓN ó EJECUCIONES FALLIDAS
- MODULO DE OPTIMIZACIÓN PARA EL ENTORNO DE EJECUCIÓN DEL PROGRAMA
- MODULO DE AUTORIZACIÓN DE USUARIO CON CONTRASEÑA
- MODULO DE DETECCIÓN DE ARQUITECTURA
En esta nueva edición, la séptima (7), abarcaremos el estudio de el siguiente modulo:
MODULO DE CONFIGURACIÓN DEL LENGUAJE DE CODIFICACIÓN
Este modulo le permitirá configurar un entorno limpio en UTF–8 en el ambiente de ejecución del Sistema Operativo GNU/Linux, permitiéndole señalar al programa el idioma en que usted desee que se desenvuelva.
Esto ya que muchas veces se presentan problemas con el manejo de caracteres no ASCII en nuestros programas, impidiéndonos muchas veces una visualización correcta de los mensajes mostrados o ingresados por pantalla ó extraídos (leídos) por el mismo programa.
Por ende, para trabajar de manera eficiente con los datos de texto, el entorno tiene que estar configurado correctamente, lo cual es mucho más fácil de depurar un problema que tiene problemas de codificación si se puede confiar en su terminal para visualizar correctamente correcta UTF-8. Y este modulo nos ayuda con dicho fin.
Su contenido sería el siguiente:
################################################################################
# INICIO DEL MODULO DE CONFIGURACIÓN DEL LENGUAJE DE CODIFICACIÓN DEL LPI-SB
################################################################################
read -p "Introduzca el lenguaje de Codificación de Caracteres de su Sistema Operativo (1 = es_VE / 2 = es_ES / 3 = en_EN): " T_LANG
if [ "$T_LANG" = "1" ]; then
SET_LANG=es_VE
echo -e '\a'
echo ""
echo ""
echo "#--------------------------------------------------------------#"
echo "# LA CODIFICACIÓN POR USTED INDICADA FUE: $SET_LANG "
echo "#--------------------------------------------------------------#"
echo ""
echo ""
sleep 3
clear
elif [ "$T_LANG" = "2" ]; then
SET_LANG=es_ES
echo -e '\a'
echo ""
echo ""
echo "#--------------------------------------------------------------#"
echo "# LA CODIFICACIÓN POR USTED INDICADA FUE: $SET_LANG "
echo "#--------------------------------------------------------------#"
echo ""
echo ""
sleep 3
clear
elif [ "$T_LANG" = "3" ]; then
SET_LANG=en_US
echo -e '\a'
echo ""
echo ""
echo "#--------------------------------------------------------------#"
echo "# LA ARQUITECTURA POR USTED INDICADA FUE: $SET_LANG "
echo "#--------------------------------------------------------------#"
echo ""
echo ""
sleep 3
clear
else
SET_LANG=es_VE
echo -e '\a'
echo ""
echo ""
echo "#--------------------------------------------------------------#"
echo "# LA ARQUITECTURA PREDETERMINADA CONFIGURADA FUE: $SET_LANG "
echo "#--------------------------------------------------------------#"
echo ""
echo ""
sleep 3
clear
fi
export LC_ALL=$SET_LANG.UTF-8
export LANG=$SET_LANG.UTF-8
export LANGUAGE=$SET_LANG.UTF-8
locale
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 SCRIPT LPI-SB PROCEDERA HA CONTINUAR, PRESIONE CUALQUIER TECLA PARA CONTINUAR..." && sleep 3 ; clear
fi
################################################################################
# FINAL DEL MODULO DE CONFIGURACIÓN DEL LENGUAJE DE CODIFICACIÓN DEL LPI-SB
################################################################################
Como podemos entender al leer el código de dicho modulo, el mismo:
- Nos solicita con el siguiente mensaje «Introduzca el lenguaje de Codificación de Caracteres de su Sistema Operativo (1 = es_VE / 2 = es_ES / 3 = en_EN): «, señalarle al programa la opción (el lenguaje) en el que queremos establecer idioma para el lenguaje de Codificación.
- Luego dependiendo de la selección del usuario, el programa le muestra un mensaje por pantalla que dice «LA CODIFICACIÓN POR USTED INDICADA FUE: + su_selección». En caso de seleccionar algo diferente a 1, 2 ó 3, el programa por defecto configura el entorno UTF-8 bajo el idioma Español_Venezolano (es_VE).
Todo esto lo hace mediante la utilización de las ordenes de comando:
export LC_ALL=$SET_LANG.UTF-8
export LANG=$SET_LANG.UTF-8
export LANGUAGE=$SET_LANG.UTF-8
Y muestra el resultado por pantalla, mediante la ejecución del comando:
locale
Finalizando con el ultimo mensaje de advertencia al usuario que dice:
SI DESEA CANCELAR EL PROCESO HASTA AHORA PRESIONE CUALQUIERA DE LOS SIGUIENTES CARACTERES: “s” “S” “y” “Y”. DE LO CONTRARIO PRESIONE CUALQUIER OTRA TECLA PARA CONTINUAR, RECUERDE QUE TRABAJAR CON LA ARQUITECTURA INCORRECTA PUEDE TRAERLE SERIOS INCONVENIENTES AL LPI-SB PARA TRABAJAR ÓPTIMAMENTE!
Si el usuario presiona algunos de los caracteres correctos, el programa se cierra y en caso contrario emite el siguiente mensaje y continua su operación:
EL SCRIPT LPI-SB PROCEDERÁ HA CONTINUAR, PRESIONE CUALQUIER TECLA PARA CONTINUAR…
=============
LECTURA RECOMENDADA:
GNU, LINUX, GNU/LINUX, SOFTWARE LIBRE Y CÓDIGO ABIERTO!
¿TODO JUNTO O SEPARADO?
- ¿Qué es GNU?
GNU significa GNU is Not Unix, y se refiere al Proyecto mundial de Software Libre, iniciado en enero de 1984 por Richard M. Stallman, conocido como Proyecto GNU. GNU se refiere expresamente ha un Sistema Operativo de Software Libre. El desarrollo de la FILOSOFÍA GNU ha permitido que se pueda utilizar un ordenador (computador) sin software que atropelle la libertad, seguridad y privacidad de sus usuarios. En resumen, GNU abarca los Sistemas Operativos del tipo Unix, es decir, es una agrupación de muchos software: programas, aplicaciones, bibliotecas, herramientas de desarrollo y hasta juegos. Muchos de los programas de GNU se publican bajo el auspicio del Proyecto GNU y los llamamos paquetes de GNU.
Para mayor información sobre GNU usted puede empezar por aquí.
- ¿Qué es Linux?
Linux como concepto es en un sentido muy amplio referencia ha un tipo de Sistema Operativo. Sin embargo, estricta y específicamente, Linux se refiere a un Tipo de Kernel. Ha uno muy usado en Sistemas Operativos basados en la FILOSOFÍA GNU. El Kernel de un Sistema Operativo, se refiere a su núcleo, es decir, al elemento (módulo) que se encarga de gestionar los recursos de la memoria, permitir la manipulación de los sistemas de archivos, administrar recursos de red, y muchas cosas más. En resumen, el Kernel (Núcleo) es como el órgano principal o vital de un Sistema Operativo, ya que es el encargado de que el Software (SW) y el Hardware (HW) de tu ordenador (computador) puedan trabajar juntos, ya que administrar la memoria para todos los programas y procesos en ejecución, el tiempo de procesamiento que los programas y procesos en ejecución utilizan y gestionar los accesos de los periféricos y demás elementos, lo es todo para lograr manejar un ordenador de una manera eficaz y eficiente.
Para mayor información sobre LINUX usted puede empezar por aquí.
- ¿Qué es GNU/Linux?
GNU/Linux es todo el conjunto de software (aplicaciones / programas) que convierten al Kernel de Linux en un completo Sistema Operativo. GNU es lo que hace a Linux ser libre y abierto. Es en toda su extensión un Sistema Operativo compatible con Unix. Dos características resaltantes que lo distinguen del resto del ecosistema de Sistemas Operativos son: la primera, es que es libre, esto significa que no tenemos que desembolsar pago alguno por algún tipo de licenciamiento ha alguna empresa desarrolladora de software por el uso del mismo, y la segunda, es que el sistema viene acompañado del código fuente, es decir, ya que se distribuye bajo la GNU General Public License, el código fuente tiene que estar siempre a la mano (accesible) y cualquier cambio ó producto resultado tiene que tener esta licencia.
Para mayor información sobre LINUX usted puede empezar por aquí.
- ¿Que es el Software Libre?
En sencillas palabras es todo aquel Software (Aplicación/Programa) cuya licencia de uso y distribución sea la denominada GPL o basada en ella, que fue desarrollada por el Proyecto GNU. La licencia GPL fomenta y asegura cuatro (4) libertades fundamentales: la Libertad de uso, la Libertad de aprendizaje, la Libertad de modificación, y la Libertad de redistribución. Por ende, un programa es Software Libre si y solo sí, los usuarios tienen todas estas libertades.
Para mayor información sobre el Software Libre usted puede empezar por aquí.
- ¿Que es el Código Abierto?
Este concepto empezó a manejarse a finales de los 90, y empezó formando parte de una campaña de mercadeo proveniente del movimiento del Software Libre, haciendo hincapié en los beneficios técnicos y económicos provenientes del uso y desarrollo del Código Abierto y el Software Libre, sin enfocarse tanto en los argumentos éticos que el Software Libre trae. De todas casi todo el software avalado por la Iniciativa de Código Abierto es abiertamente reconocido como Software Libre, por el movimiento y la Comunidad de Software Libre, por lo que casi siempre ambos conceptos juntos sirven muchas veces para referirse a un mismo software.
Para mayor información sobre el Código Abierto y sus divergencias con el Software libre usted puede empezar por aquí y por aquí.
================
Hasta aquí, espero que como siempre te haya gustado la clase de Shell Scripting y la Lectura recomendada! Hasta la próxima clase.
0 comentarios, deja el tuyo