Δημιουργήστε το πρόγραμμά σας βήμα προς βήμα χρησιμοποιώντας το Shell Scripting - Μέρος 1

Όπως έχουμε ήδη δει και έμαθε στο προηγούμενο Εισιτήρια πώς πρέπει να δημιουργήσουμε τα μέρη αρχικά (άνω) στα σενάρια μας, δηλαδή, το Shebang και το BSM (Bash Strict Mode).

Shell Scripting

Σε αυτήν την ανάρτηση θα συνεχίσουμε να τα θυμόμαστε μόνο χωρίς να τα εξηγήσουμε, καθώς θα το τοποθετούσα σε ένα από τα δικά μου προγράμματα (εφαρμογές) γεγονότα σε Σενάριο κελύφους που ονομάζεται Εγκατάσταση Linux Post - Bententennial Script 8.0:

s30α90


#!/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)
###############################################################################

Μετά την εισαγωγή του Shebang και BSM, τι πρέπει στη συνέχεια να εισαγάγετε στο δικό σας Σενάριο κελύφους Είναι μια λειτουργική μονάδα που επικυρώνει ότι μόνο το root superuser μπορεί να το εκτελέσει. Αυτό και οποιοδήποτε άλλο ενότητα, συνάρτηση, μεταβλητή, εντολή ή ενέργεια γενικά μπορεί να πραγματοποιηθεί πολλοί τρόποι, λοιπόν αυτό που θα δείτε στη συνέχεια είναι ένα απλός τρόπος, απο πολλούς πιθανούς και πιθανούς τρόπους στο οποίο είπε η δράση μπορεί ή θα μπορούσε να πραγματοποιηθεί:


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

Αργότερα, σε μελλοντικές δημοσιεύσεις θα δούμε, μεταξύ άλλων, πώς να δημιουργήσουμε ενότητες (ενότητες) που εκτελούν λειτουργίες όπως:

  • ΕΝΟΤΗΤΑ ΜΕΤΑΒΛΗΤΩΝ ΠΕΡΙΒΑΛΛΟΝΤΟΣ ΓΡΑΜΜΑΤΟΣ
  • ΔΙΠΛΗ ΜΟΝΑΔΑ ΑΝΙΧΝΕΥΣΗΣ ΕΚΤΕΛΕΣΗΣ
  • ΕΝΟΤΗΤΑ ΒΕΛΤΙΣΤΩΣΗΣ
  • ΕΝΟΤΗΤΑ ΑΔΕΙΑΣ ΧΡΗΣΤΗ ΜΕ Κωδικό πρόσβασης
  • ΕΝΟΤΗΤΑ ΑΝΙΧΝΕΥΣΗΣ ΤΗΣ ΑΡΧΙΤΕΚΤΟΝΙΚΗΣ ΤΟΥ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ
  • ΕΝΟΤΗΤΑ ΔΙΑΜΟΡΦΩΣΗΣ ΓΛΩΣΣΑΣ ΚΩΔ
  • ΕΝΟΤΗΤΑ ΔΙΑΜΟΡΦΩΣΗΣ PROXY ΓΙΑ ΤΟ ΠΕΡΙΒΑΛΛΟΝ ΕΚΤΕΛΕΣΗΣ

Μεταξύ πολλών άλλωνκαι μάθετε να χρησιμοποιείτε το εντολές gksu, dialog, gxmessage, zenity, espeak, play, μεταξύ πολλών άλλων για τη δημιουργία γραφικών διεπαφών από το τερματικό ή για την επιφάνεια εργασίας του χρήστη, με ηχητικές ειδοποιήσεις ή ειδοποιήσεις πολυμέσων.

Αλλά να θυμάστε πάντα ότι αυτές και άλλες συστάσεις για κάποιους ενότητα, συνάρτηση, μεταβλητή, εντολή ή ενέργεια γενικά μπορεί να πραγματοποιηθεί πολλοί τρόποι, και αυτό που φαίνεται εδώ δεν είναι τίποτα περισσότερο από ένα απλός τρόπος, απο πολλούς πιθανούς και πιθανούς τρόπους στο οποίο είπε η δράση μπορεί ή θα μπορούσε να πραγματοποιηθεί!

Ακριβώς για να τελειώσω σε αφήνω, α Screencast από εμένα, για να σας δείξω τι θα μπορούσατε να κάνετε, αφού ολοκληρώσετε αυτό Διαδικτυακό μάθημα Shell Scripting σε DesdeLinux:

LPI-SB8 Test ScreenCast

(LINUX POST INSTALL - BICENTENNIAL SCRIPT 8.0.0) - Μέρος 2


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Εντουάρντο Κουόμο dijo

    Σας προσκαλώ να δείτε και να συνεργαστείτε στο έργο BashX (https://github.com/reduardo7/bashx), 100% Bash Framework με το οποίο μπορείτε να δημιουργήσετε εφαρμογές με πολύ απλό και καθαρό τρόπο. Ελπίζω να είναι χρήσιμο!

  2.   Ινγκ. Jose Albert dijo

    Το έχω ήδη δει και κατεβάσω! Ελέγξτε τους κωδικούς, εξερευνήστε τη δομή του και προσπαθήστε να τον εγκαταστήσετε, αλλά μου έδωσε ένα σφάλμα.

    Νομίζω όμως ότι, αν δεν κάνω λάθος, έχει δημιουργηθεί για μεγάλο χρονικό διάστημα και πρέπει να προσαρμόσει κάποιες παραμέτρους χειροκίνητα, αλλά συνοπτικά η ιδέα μου φαίνεται μεγάλη. Είναι, αν κατάλαβα σωστά, πώς να αυτοματοποιήσω την εισαγωγή προκαθορισμένων ενοτήτων που ταιριάζουν στον χρήστη, μέσα σε ένα σενάριο. Είναι σαν να αυτοματοποιώ αυτό που προτείνω και να το εξηγώ με το χέρι!

    Σωστό ή λάθος! Τέλος πάντων, πείτε μας στον εαυτό σας λίγα πράγματα για αυτό ή έχετε εισέλθει σε αυτό!