Buuin ang iyong programa nang sunud-sunod gamit ang Shell Scripting - Bahagi 1

Tulad ng mayroon na tayo nakita at natutunan sa nakaraan tiket paano natin malilikha ang mga bahagi inisyal (itaas) sa aming mga script, iyon ay, ang Shebang at ang BSM (Bash Strict Mode).

Scripting ng Shell

Sa post na ito ay magpapatuloy lamang kaming tandaan ang mga ito nang hindi ipinapaliwanag ang mga ito, tulad ng ilalagay ko ito sa isa sa aking mga programa (aplikasyon) katotohanan sa a Shell script tinatawag na Pag-install ng Linux Post - 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)
###############################################################################

Matapos ipasok ang iyong Shebang at BSM, kung ano ang dapat mong ipasok sa iyong Shell script Ito ay isang module na nagpapatunay na talagang ang superuser root lamang ang maaaring magpatupad nito. Ito at anumang iba pa module, pagpapaandar, variable, utos o pagkilos sa pangkalahatan maaari itong isagawa Maraming paraan, kaya ang susunod mong makikita ay a simpleng paraan, ng maraming posible at maaaring paraan kung saan sinabi maaring maisagawa ang pagkilos:


###############################################################################
# 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
###############################################################################

Sa paglaon, sa mga susunod na post ay makikita natin kasama ng maraming iba pang mga bagay, kung paano lumikha mga module (mga seksyon) na gumaganap ng mga pag-andar tulad ng:

  • MODYUL SA VARIABLES NG KALIGIRAN NG SCRIPT
  • DOUBLE EXECUTION DETECTION MODULE o FAILED EXECUTION
  • MODYUL NG OPTIMIZATION
  • Modyul ng Awtorisasyon ng Gumagamit na MAY PASSWORD
  • MODYUL NG PAGKAKITA NG ARCHITECTURE NG OPERATING SYSTEM
  • MODYUL NG PAG-CODING NG WIKA NG CODING
  • MODYUL NG PROFY CONFIGURATION PARA SA ENGLITAD NG EKECOYON

Kabilang sa marami pang iba, at alamin gamitin ang utos gksu, dayalogo, gxmessage, zenity, espeak, play, bukod sa marami pang iba upang lumikha ng mga grapikong interface ng Terminal o para sa Desktop ng User, na may mga sonik o multimedia na alerto.

Ngunit laging tandaan na ang mga ito at anumang iba pang mga rekomendasyon sa ilan module, pagpapaandar, variable, utos o pagkilos sa pangkalahatan maaari itong isagawa Maraming paraan, at ang ipinakita dito ay iisa lamang simpleng paraan, ng maraming posible at maaaring paraan kung saan sinabi maaring maisagawa ang pagkilos!

Para matapos ko lang iwan kita, a Screencast na ginawa ko, upang maipakita sa iyo kung ano ang iyong kaya, matapos itong matapos Shell Scripting online na kurso sa DesdeLinux:

Screen ng Pagsubok sa LPI-SB8

(LINUX POST INSTALL - BICENTENNIAL SCRIPT 8.0.0) - Bahagi 2


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: Miguel Ángel Gatón
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.

  1.   Edward Cuomo dijo

    Inaanyayahan kita na makita at makipagtulungan sa proyekto ng BashX (https://github.com/reduardo7/bashx), isang 100% Bash Framework kung saan maaari kang lumikha ng mga application sa isang napaka-simple at malinaw na paraan. Inaasahan kong ikaw ay magiging kapaki-pakinabang!

  2.   Ing.Jose Albert dijo

    Nakita ko na ito at na-download! Suriin ang mga code, galugarin ang istraktura nito at subukang i-install ito ngunit binigyan ako nito ng isang error.

    Ngunit sa palagay ko iyon dahil kung hindi ako nagkakamali ito ay nilikha sa mahabang panahon at ang ilang mga parameter ay kailangang ayusin nang manu-mano, ngunit sa buod ang ideya ay mukhang mahusay sa akin. Ito ay, kung naintindihan ko nang tama, kung paano i-automate ang pagpapasok ng mga paunang natukoy na mga module upang umangkop sa gumagamit, sa loob ng isang script. Ito ay tulad ng pag-automate ng kung ano ang iminumungkahi ko at ipinapaliwanag sa pamamagitan ng kamay!

    Tama o mali! Gayunpaman, sabihin sa amin ang iyong sarili nang kaunti tungkol dito o ipasok ang tungkol dito!