Shell Scripting - Part 1-ийг ашиглан програмаа алхам алхамаар бүтээх

Бидэнд аль хэдийн байна үзсэн, сурсан өмнөх тасалбарууд бид хэсгүүдийг хэрхэн бүтээх ёстой вэ? эхний үсэг (дээд) бидний скриптүүд дээр Shebang ба BSM (Bash Strict Mode).

Shell скриптЭнэ бичлэгт бид тэдгээрийг тайлбарлахгүйгээр л санаж байх болно програмууд (програмууд) баримтууд Бүрхүүлийн скрипт гэж нэрлэдэг Линукс шуудан суулгах - Хоёр наст скрипт 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)
###############################################################################

Оруулсны дараа таны Shebang ба BSM, дараа нь юу оруулах ёстойгоо Бүрхүүлийн скрипт Энэ бол зөвхөн супер хэрэглэгчийн үндэс л үүнийг гүйцэтгэх чадвартай гэдгийг баталгаажуулдаг модуль юм. Энэ болон бусад модуль, функц, хувьсагч, тушаал эсвэл үйлдэл ерөнхийдөө үүнийг хийж болно олон зам, тэгэхээр дараа нь юу харах вэ? энгийн арга, олон боломжит ба боломжит арга замууд гэж хэлсэн арга хэмжээ авах боломжтой эсвэл хэрэгжүүлэх боломжтой:


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

Дараа нь, цаашдын бичлэгүүд дээр бид хэрхэн бүтээх талаар бусад олон зүйлийг үзэх болно модулиуд (хэсэг) дараахь функцийг гүйцэтгэдэг.

  • Скрипт орчны хувьсах модуль
  • Давхардсан гүйцэтгэлийг илрүүлэх модуль буюу БУРУУТАЙ ГҮЙЦЭТГЭЛ
  • ОППИМАЦИЙН МОДУЛ
  • НЭВТРҮҮЛТЭЙ ХЭРЭГЛЭГЧИЙН ЭРХ МЭДЭЛ
  • АЖИЛЛАГААНЫ СИСТЕМИЙН АРХИТЕКТУРЫГ ТОДОРХОЙЛОХ МОДУЛ
  • ХЭЛНИЙ Тохиргооны МОДОЛЫГ кодлох
  • ГҮЙЦЭТГЭХ БАЙГАЛЬ ОРЧНЫ ТӨЛӨВЛӨГӨӨНИЙ Тохиргооны модуль

Бусад олон хүмүүсийн дунд, ашиглаж сурах gksu, dialog, gxmessage, zenity, espeak, play командууд, бусад олон хүмүүсийн дунд график интерфейсийг Терминалаар эсвэл хэрэглэгчийн ширээний компьютер дээр, sonic эсвэл multimedia дохиолол үүсгэх.

Гэхдээ эдгээр болон бусад зарим зөвлөмжийг үргэлж санаарай модуль, функц, хувьсагч, тушаал эсвэл үйлдэл ерөнхийдөө үүнийг хийж болно олон зам, энд харуулсан зүйл нь а-аас өөр зүйл биш юм энгийн арга, олон боломжит ба боломжит арга замууд гэж хэлсэн арга хэмжээ авах боломжтой эсвэл хэрэгжүүлэх боломжтой!

Зүгээр л дуусгахын тулд би чамайг орхих болно, а Миний хийсэн скринкаст, үүнийг хийж дуусаад юу хийж чадахаа харуулах DesdeLinux дахь Shell Scripting онлайн сургалт:

LPI-SB8 Туршилтын ScreenCast

(LINUX POST INSTALL - BICENTENNIAL SCRIPT 8.0.0) - 2-р хэсэг


Нийтлэлийн агуулга нь бидний зарчмуудыг баримталдаг редакцийн ёс зүй. Алдааны талаар мэдээлэхийн тулд товшино уу энд байна.

2 сэтгэгдэл, үлдээгээрэй

Сэтгэгдэлээ үлдээгээрэй

Таны и-мэйл хаяг хэвлэгдсэн байх болно. Шаардлагатай талбарууд нь тэмдэглэгдсэн байна *

*

*

  1. Мэдээллийг хариуцах: Мигель Анхель Гатан
  2. Мэдээллийн зорилго: СПАМ-ыг хянах, сэтгэгдлийн менежмент.
  3. Хууль ёсны байдал: Таны зөвшөөрөл
  4. Мэдээллийн харилцаа холбоо: Хуулийн үүргээс бусад тохиолдолд мэдээллийг гуравдагч этгээдэд дамжуулахгүй.
  5. Өгөгдөл хадгалах: Occentus Networks (ЕХ) -с зохион байгуулсан мэдээллийн сан
  6. Эрх: Та хүссэн үедээ мэдээллээ хязгаарлаж, сэргээж, устгаж болно.

  1.   Эдуардо Куомо гэж хэлэв

    Би таныг BashX төсөл дээр хамтран ажиллахыг урьж байна (https://github.com/reduardo7/bashx), програмыг маш энгийн бөгөөд ойлгомжтой байдлаар үүсгэх боломжтой 100% Bash Framework. Энэ нь танд ашигтай байх болно гэж найдаж байна!

  2.   Хосе Альберт гэж хэлэв

    Би үүнийг аль хэдийн харсан бөгөөд татаж аваарай! Кодыг шалгаж, бүтцийг нь судлаад суулгаж үзээрэй гэхдээ надад алдаа гарлаа.

    Гэхдээ би андуураагүй бол энэ нь эртнээс бүтээгдсэн бөгөөд зарим параметрүүдийг гараар тохируулах шаардлагатай хэвээр байгаа гэж бодож байна, гэхдээ товчхон хэлэхэд энэ санаа надад гайхалтай санагдаж байна. Хэрэв би зөв ойлгосон бол скрипт дотор хэрэглэгчид тохирохын тулд урьдчилан тодорхойлсон модулиудыг хэрхэн автоматжуулж оруулах вэ? Энэ нь миний санал болгож буй зүйлийг автоматжуулж, гараар тайлбарлаж байгаатай адил юм!

    Зөв, эсвэл буруу! Юутай ч энэ талаар өөртөө жаахан яриач, эсвэл оруулаад оруулчих!