Kurkite savo programą žingsnis po žingsnio naudodami „Shell Scripting“ - 1 dalį

Kaip jau turime matė ir išmoko ankstesniame Bilietai kaip turėtume kurti dalis inicialai (viršutiniai) mūsų scenarijuose, tai yra „Shebang“ ir „BSM“ (griežtas „Bash“ režimas).

"Shell scenarijus

Šiame įraše mes tik prisiminsime juos nepaaiškindami, nes aš jį įdėčiau į vieną iš savo programos (programos) faktai a „Shell“ scenarijus vadinamas „Linux Post Install“ - dvidešimtmetis scenarijus 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)
###############################################################################

Įkišus savo Šebangas ir BSM, ką tada turėtumėte įterpti į „Shell“ scenarijus Tai yra modulis, patvirtinantis, kad jį iš tikrųjų gali atlikti tik supernaudotojo šaknis. Šis ir bet kuris kitas modulis, funkcija, kintamasis, komanda ar veiksmas apskritai tai galima atlikti daug būdų, todėl tai, ką pamatysite toliau, yra paprastas būdas, iš daug galimų ir tikėtinų būdų kuriame pasakė veiksmą galima arba galima atlikti:


###############################################################################
# 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ėliau būsimuose įrašuose, be kitų dalykų, pamatysime, kaip kurti moduliai (skyriai) kurie atlieka tokias funkcijas kaip:

  • SCENARIJOS APLINKOS KINTAMŲJŲ MODULIS
  • Dvigubo vykdymo aptikimo modulis arba nesėkmingas vykdymas
  • OPTIMIZAVIMO MODULIS
  • VARTOTOJO PATVIRTINIMO MODULIS SU Slaptažodžiu
  • VEIKLOS SISTEMOS ARCHITEKTŪROS ATRADIMO MODULIS
  • KODAVIMO KALBOS KONFIGURAVIMO MODULIS
  • VYKDYMO APLINKOS PRAKTINIO KONFIGURAVIMO MODULIS

Tarp daugelio kitųir išmokti naudotis komandos gksu, dialogas, gxmessage, zenity, espeak, play, tarp daugelio kitų sukurti grafines sąsajas pagal terminalą arba vartotojo darbalaukiui su garsiniais ar daugialypės terpės įspėjimais.

Tačiau visada atminkite, kad šios ir kitos rekomendacijos kai kurioms modulis, funkcija, kintamasis, komanda ar veiksmas apskritai tai galima atlikti daug būdų, o tai, kas čia parodyta, yra tik viena paprastas būdas, iš daug galimų ir tikėtinų būdų kuriame pasakė veiksmą galima arba galima atlikti!

Kad pabaigčiau, palieku tave, a Mano sukurtas ekrano perdavimas, kad parodytumėte, ką galėtumėte tai atlikti Curso online de Shell Scripting en DesdeLinux:

„LPI-SB8 Test ScreenCast“

(„LINUX POST INSTALL“ - „SCRIPT BICENTENARIO 8.0.0“) - 2 dalis


2 komentarai, palikite savo

Palikite komentarą

Jūsų elektroninio pašto adresas nebus skelbiamas. Privalomi laukai yra pažymėti *

*

*

  1. Atsakingas už duomenis: Miguel Ángel Gatón
  2. Duomenų paskirtis: kontroliuoti šlamštą, komentarų valdymą.
  3. Įteisinimas: jūsų sutikimas
  4. Duomenų perdavimas: Duomenys nebus perduoti trečiosioms šalims, išskyrus teisinius įsipareigojimus.
  5. Duomenų saugojimas: „Occentus Networks“ (ES) talpinama duomenų bazė
  6. Teisės: bet kuriuo metu galite apriboti, atkurti ir ištrinti savo informaciją.

  1.   Eduardo Kuomo sakė

    Kviečiu pamatyti ir bendradarbiauti „BashX“ projekte (https://github.com/reduardo7/bashx), 100% Bash Framework, su kuriuo galite labai paprastai ir aiškiai kurti programas. Tikiuosi, kad tai bus jums naudinga!

  2.   Ing. Jose Albertas sakė

    Aš jau mačiau ir atsisiųsti! Patikrinkite kodus, ištirkite jų struktūrą ir pabandykite juos įdiegti, bet man davė klaidą.

    Bet aš manau, kad todėl, kad jei neklystu, jis buvo sukurtas ilgą laiką ir kai kuriuos parametrus vis tiek reikia koreguoti rankiniu būdu, tačiau apibendrinant man mintis atrodo puiki. Tai, jei gerai supratau, yra tai, kaip automatizuoti iš anksto nustatytų modulių įterpimą, kad tiktų vartotojui, scenarijuje. Tai tarsi automatizuoti tai, ką siūlau ir paaiškinti ranka!

    Teisinga ar neteisinga! Bet kokiu atveju, šiek tiek papasakok apie tai mums patiems!