Construye paso a paso tu programa usando Shell Scripting – Parte 7

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:

Shell Scripting

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 UTF8 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, e
    l 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.


Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.