Construiți-vă programul pas cu pas folosind Shell Scripting - Partea 1

Așa cum am făcut deja văzut și învățat în precedent Bilete cum ar trebui să creăm piesele inițiale (sus) în scripturile noastre, adică Shebang și BSM (Bash Strict Mode).

shell a Scripting

În această postare vom continua să ne amintim de ele fără să le explicăm, așa cum aș pune-o într-una din a mea programe (aplicații) fapte într-o Script Shell denumit Linux Post Install - Bicentennial Script 8.0:

s30a90


#!/usr/bin/env bash
# SheBang que le indica al Script que deberá usar al interprete bash ubicado en la ruta absoluta según el Sistema Operativo.

###############################################################################
# MODO BASH ESTRICTO ó SEGURO (Bash Strict Mode / BSM)
###############################################################################

###############################################################################
# SECCIÓN DE DEPURACIÓN DE ERRORES
###############################################################################
###############################################################################
set -eou pipefail
###############################################################################
# set -eou pipefail
#
# Para indicarle al script detener y cerrarse cuando:
# 1.- (-e) Un comando o linea de ejecución se ejecute y falla por completo.
# 2.- (-o) Un comando o linea de ejecución se ejecute con éxito, pero con novedad.
# 3.- (-u) Una secuencia de comandos intente utilizar variables no declaradas.
# 4.- (-x) Agréguele (Habilítelo) en caso de necesitar depurar el script.
###############################################################################
# LEER MAS EN:
# http://vaneyckt.io/posts/safer_bash_scripts_with_set_euxo_pipefail/
# http://redsymbol.net/articles/unofficial-bash-strict-mode/
###############################################################################
# OTRAS FORMAS DE IMPLEMENTACIÓN
###############################################################################
# set -e         # Cerrar cuando un comando o linea de ejecución falle por completo.
# set -o errexit # Cerrar cuando un comando o linea de ejecución falle pero con novedad.
# set -o nounset # Cerrar cuando se intenta utilizar variables no declaradas.
# set -o xtrace  # Rastrear lo que se ejecuta. Útil para la depuración.
###############################################################################


###############################################################################
# SECCIÓN DE LA SALIDA DE LAS VARIABLES CONFIGURADAS
###############################################################################
###############################################################################
IFS=$'\n\t'
###############################################################################
# Para reconfigurar la variable Internal Field Separator (Separador de campo interno)
# y lograr una mejor visualización y / o captura de las palabras (campos) de una
# cadena de caracteres. Habilítelo o no, según sus requerimientos y necesidades.
###############################################################################


###############################################################################
# SECCIÓN DE LA CONFIGURACIÓN PREDETERMINADA DEL TERMINAL DE EJECUCIÓN
###############################################################################
###############################################################################
setterm --reset
###############################################################################
# Para resetear la sesión y todos los parámetros de ejecución del terminal donde
# fue invocada el uso del Linux Post Install - Script Bicentenario.
# Habilítelo o no, según sus requerimientos y necesidades.
###############################################################################


###############################################################################
# SECCIÓN INFORMATIVA SOBRE EL CREADOR Y EL PROGRAMA
###############################################################################

###############################################################################
#                     REPÚBLICA BOLIVARIANA DE VENEZUELA 
#
# NOMBRE: LINUX POST INSTALL - SCRIPT BICENTENARIO (LPI-SB)
# VERSIÓN: 8.0+0
# TIPO DE PROGRAMA: SISTEMA EXPERTO
# FUNCIÓN: ASISTENTE TÉCNICO PARA S.O. GNU/LINUX BASADOS EN DEBIAN
# NOMBRE CÓDIGO: ALFA MATER (LPI-SB 8.0+0)
# PAÍS ORIGEN: REPÚBLICA BOLIVARIANA DE VENEZUELA
# CREADO POR: JOSÉ JOHAN ALBERT IZAIPE
# EMAIL: albertccs1976@hotmail.com
# NOMBRE FACEBOOK: Linux Post Install
# PAGINA PERSONAL FACEBOOK: http://www.facebook.com/linuxpostinstall
# COMUNIDAD FACEBOOK: http://www.facebook.com/pages/Script-Bicentenario/159467280799041
# TWITTER: @albertccs1976
# TELÉFONO: 0426.610.13.03
# PROMOCIONADO POR: PROYECTO TIC - TAC
# PAGINA WEB DEL PROYECTO TIC - TAC: http://www.proyectotictac.wordpress.com/
# FECHA DE LANZAMIENTO DE LA PRIMERA VERSIÓN (1.0): 07/12/2010
# FECHA DE LANZAMIENTO DE LA VERSIÓN ACTUAL (8.0+0): 01/02/2016
# FECHA DE ULTIMA ACTUALIZACIÓN: 04/02/2016
###############################################################################


###############################################################################
# SECCIÓN INFORMATIVA SOBRE EL LICENCIAMIENTO DEL PROGRAMA
###############################################################################

###############################################################################
#            LINUX POST INSTALL - SCRIPT BICENTENARIO (LPI-SB)
###############################################################################
#
# Derechos de autor:
# Copyleft (C) 2016 José Johan Albert Izaipe
# 
# Licenciamiento:
#
# El Linux Post Install – Script Bicentenario no viene con ninguna garantía. El 
# Autor no se hace responsable si se al aplicarse el Sistema Operativo se
# corrompe, daña o inutiliza.
#
# El Linux Post Install – Script Bicentenario es una aplicación de Software 
# Libre, por lo tanto usted puede redistribuirlo y / o modificarlo bajo los
# términos de la Licencia Pública General de GNU publicada por la Free Software
# Foundation, ya sea la versión 3 o cualquier versión posterior, según sea de su
# preferencia.
#
# Este programa se distribuye con la esperanza de que sea útil, pero SIN NINGUNA
# GARANTÍA, incluso sin la garantía implícita de COMERCIALIZACIÓN o IDONEIDAD
# para un propósito particular. Vea la Licencia Pública General de GNU para más
# detalles.
#
# Procure obtener una copia de la Licencia Pública General de GNU para estar al
# tanto sobre lo estipulado por la misma.
#
# Consúltela en:
#
# http://www.gnu.org/licenses/licenses.es.html
# http://www.gnu.org/licenses/license-list.html
# http://www.gnu.org/licenses/gpl-howto.es.html
# http://www.gnu.org/help/evaluation.html
# http://www.gnu.org/licenses/gpl-3.0.html#howto
#
# Más Información:
#
# http://www.creativecommonsvenezuela.org.ve/cc-licencias
# http://creativecommons.org/choose/?lang=es_ES
#
# Por lo tanto, Si usted hace alguna modificación en esta aplicación o toma una
#  porción de el, deberá siempre mencionar al autor original de la misma:   
#
# Desarrollador : José Albert
# Nick          : Linux Post Install
# Twitter       : @albertccs1976
# Facebook      : ttp://www.facebook.com/linuxpostinstall
# Telegram      : (+58) 416-6101303
# Canal Telegram: https://telegram.me/proyectotictac
#
# Este SCRIPT tiene un doble propósito:
#
# 1.- Educativo: Mostrar las buenas practicas en la diseño e implementación de
#                Script de Shell para Linux
#
# 2.- Técnico: Realizar vía terminal o gráfica las diversas acciones (módulos)
#              que se le añadan para su ejecución automatizada.            
#
###############################################################################
#            LINUX POST INSTALL - SCRIPT BICENTENARIO (LPI-SB)
###############################################################################

După introducerea fișierului Shebang și BSM, ceea ce ar trebui apoi să introduceți în Script Shell Este un modul care validează faptul că într-adevăr numai super-rădăcina îl poate executa. Aceasta și orice alta modul, funcție, variabilă, comandă sau acțiune în general se poate realiza multe feluri, deci ceea ce veți vedea în continuare este un calea usoara, Din multe modalități posibile și probabile în care a spus acțiunea poate sau poate fi efectuată:


###############################################################################
# INICIO DEL MODULO DE VALIDACIÓN PERMISO DE SUPERUSUARIO (ROOT) SOBRE EL LPI-SB
###############################################################################

# ESTE MODULO VALIDA QUE SOLO EL SUPERUSUARIO (USUARIO ROOT) PUEDA EJECUTAR
# EL LINUX POST INSTALL - SCRIPT BICENTENARIO.

clear

setterm -background red

if [[ "$(id -u)" != "0" ]]; then
   echo "ESTE SCRIPT DEBE SER EJECUTADO COMO ROOT"
   sleep 3
   clear      
  else
   echo "ESTE SCRIPT SERA EJECUTADO COMO SUPERUSUARIO (ROOT)"
   sleep 3
   clear
fi

###############################################################################
# FINAL DEL MODULO DE VALIDACIÓN PERMISO DE SUPERUSUARIO (ROOT) SOBRE EL LPI-SB
###############################################################################

Mai târziu, în postările viitoare vom vedea, printre multe alte lucruri, cum să creăm module (secțiuni) care îndeplinesc funcții precum:

  • MODUL VARIABILE MEDIU SCRIPT
  • MODUL DE DETECȚIE DOUĂ EXECUȚIE sau EXECUȚIE EȘUATĂ
  • MODUL DE OPTIMIZARE
  • MODULUL DE AUTORIZARE A UTILIZATORULUI CU PAROLĂ
  • MODUL DE DETECTARE A ARHITECTURII SISTEMULUI DE OPERARE
  • MODULUL DE CONFIGURARE A LIMBII DE CODARE
  • MODUL DE CONFIGURARE PROXY PENTRU MEDIUL DE EXECUTARE

Printre multe altele, și să învețe să folosești comenzi gksu, dialog, gxmessage, zenity, speak, play, printre multe altele pentru a crea interfețe grafice prin Terminal sau pentru Desktopul Utilizatorului, cu alerte sonore sau multimedia.

Dar amintiți-vă întotdeauna că aceste recomandări și alte recomandări modul, funcție, variabilă, comandă sau acțiune în general se poate realiza multe feluri, iar ceea ce este prezentat aici este doar unul calea usoara, Din multe modalități posibile și probabile în care a spus acțiunea poate sau poate fi efectuată!

Doar pentru a termina te las, a Screencast realizat de mine, pentru a vă arăta de ce ați fi capabil, după ce ați terminat acest lucru Curs online de Shell Scripting în DesdeLinux:

Test ScreenCast LPI-SB8

(LINUX POST INSTALL - SCRIPT BICENTENAR 8.0.0) - Partea 2


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   Edward Cuomo el a spus

    Vă invit să vedeți și să colaborați la proiectul BashX (https://github.com/reduardo7/bashx), un cadru 100% Bash cu care puteți crea aplicații într-un mod foarte simplu și clar. Sper să vă fie de folos!

  2.   Jose Albert el a spus

    L-am văzut deja și l-am descărcat! Verifică codurile, explorează-i structura și încearcă să-l instalezi, dar mi-a dat o eroare.

    Dar cred că pentru că, dacă nu mă înșel, a fost creată de mult timp și totuși trebuie să regleze manual câțiva parametri, dar pe scurt, ideea mi se pare grozavă. Este, dacă am înțeles corect, cum se automatizează inserarea modulelor predefinite pentru a se potrivi utilizatorului, într-un script. Este ca și cum ai automatiza ceea ce sugerez și explic cu mâna!

    Corect sau greșit! Oricum, spuneți-ne un pic despre asta sau introduceți unul despre asta!