Veidojiet programmu soli pa solim, izmantojot Shell Scripting - 1. daļa

Kā mums jau ir redzējis un iemācījies iepriekšējā biļetes kā mums vajadzētu izveidot detaļas iniciāļi (augšējie) mūsu skriptos, tas ir, Shebang un BSM (Bash Strict Mode).

Shell skripti

Šajā ierakstā mēs tikai atcerēsimies tos, nepaskaidrojot tos, kā es to ievietotu vienā no maniem programmas (lietojumprogrammas) fakti a Shell skripts sauc Linux Post Install - divgadu skripts 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)
###############################################################################

Pēc jūsu Šebangs un BSM, kas pēc tam jāievieto mapē Shell skripts Tas ir modulis, kas apstiprina, ka to patiešām var izpildīt tikai galvenā lietotāja sakne. Šis un jebkurš cits modulis, funkcija, mainīgais, komanda vai darbība kopumā to var izpildīt daudzos veidos, tāpēc tas, ko jūs redzēsiet tālāk, ir vienkāršs veids, no daudzi iespējamie un iespējamie veidi kurā teica darbību var vai varētu veikt:


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

Vēlāk nākamajos ierakstos mēs redzēsim, kā daudz ko citu izveidot moduļi (sadaļas) kas veic tādas funkcijas kā:

  • RAKSTU VIDES MAINĪGO MODULIS
  • DUBULTU IZPILDES NOTEIKŠANAS MODULIS vai Neveiksmīga izpilde
  • OPTIMIZĀCIJAS MODULIS
  • LIETOTĀJA ATĻAUJAS MODULIS AR PAROLI
  • DARBĪBAS SISTĒMAS ARHITEKTŪRAS NOTEIKŠANAS MODULIS
  • KODĒŠANAS VALODAS KONFIGURĀCIJAS MODULIS
  • PIEVIENOŠANĀS VIDES KONFIGURĀCIJAS MODULIS

Starp daudziem citiemun iemācieties izmantot komandas gksu, dialog, gxmessage, zenity, espeak, play, starp daudziem citiem lai izveidotu grafiskas saskarnes, izmantojot Terminal vai Lietotāja darbvirsmu, ar skaņas vai multivides brīdinājumiem.

Bet vienmēr atcerieties, ka šie un citi ieteikumi dažiem modulis, funkcija, mainīgais, komanda vai darbība kopumā to var izpildīt daudzos veidos, un šeit redzamais ir tikai viens vienkāršs veids, no daudzi iespējamie un iespējamie veidi kurā teica darbību var vai varētu veikt!

Lai pabeigtu, es tevi atstāju, a Manis izveidota ekrāna pārraide, lai parādītu, uz ko tu būtu spējīgs, pabeidzis šo darbu Shell skriptēšanas tiešsaistes kurss DesdeLinux:

LPI-SB8 testa ekrāna apraide

(LINUX POST INSTALL - BICENTENNIAL SCRIPT 8.0.0) - 2. daļa


Atstājiet savu komentāru

Jūsu e-pasta adrese netiks publicēta. Obligātie lauki ir atzīmēti ar *

*

*

  1. Atbildīgais par datiem: Migels Ángels Gatóns
  2. Datu mērķis: SPAM kontrole, komentāru pārvaldība.
  3. Legitimācija: jūsu piekrišana
  4. Datu paziņošana: Dati netiks paziņoti trešām personām, izņemot juridiskus pienākumus.
  5. Datu glabāšana: datu bāze, ko mitina Occentus Networks (ES)
  6. Tiesības: jebkurā laikā varat ierobežot, atjaunot un dzēst savu informāciju.

  1.   Eduardo Kuomo teica

    Es aicinu jūs redzēt un sadarboties BashX projektā (https://github.com/reduardo7/bashx), 100% Bash Framework, ar kuru jūs varat izveidot lietojumprogrammas ļoti vienkārši un skaidri. Es ceru, ka tas būs jums noderīgs!

  2.   Ing. Hosē Alberts teica

    Es to jau redzēju un lejupielādēju! Pārbaudiet kodus, izpētiet to struktūru un mēģiniet to instalēt, taču tas man deva kļūdu.

    Bet es domāju, ka tāpēc, ka, ja nemaldos, tas ir izveidots jau ilgu laiku, un tam joprojām ir jāpielāgo daži parametri manuāli, taču kopumā ideja man šķiet lieliska. Tas ir, ja es pareizi sapratu, kā automatizēt iepriekš noteiktu moduļu ievietošanu, lai tie būtu piemēroti lietotājam skripta ietvaros. Tas ir tāpat kā automatizēt to, ko es iesaku un izskaidroju ar roku!

    Pareizi vai nepareizi! Jebkurā gadījumā pastāstiet mums nedaudz par to vai esat par to ievadījis!