Shell Scripting - 1-бөлүмдү колдонуп, программаңызды этап-этабы менен түзүңүз

Бизде болгондой көргөн жана үйрөнгөн мурунку билеты бөлүктөрүн кантип жаратышыбыз керек баш тамгалар (жогорку) биздин сценарийлерде, башкача айтканда, Shebang жана BSM (Баш режими).

Shell сценарийиБул постто биз аларды өзүмдүн бириме жайгаштыргандай, аларды түшүндүрбөй эле эстей беребиз программалар (тиркемелер) а фактылар Shell script деп аталат 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)
###############################################################################

Кыстаргандан кийин сиздин Shebang жана BSM, андан кийин эмнени киргизишиңиз керек Shell script Бул супер колдонуучунун тамыры гана аны аткара ала тургандыгын тастыктаган модуль. Бул жана башка модуль, функция, өзгөрүлмө, буйрук же аракет жалпысынан ал ишке ашырылышы мүмкүн көп жолдор, андан кийин эмне көрө аласыз а жөнөкөй жол, ныкы көптөгөн мүмкүн жана ыктымалдуу жолдор анда айтылган иш-аракет жүзөгө ашырылышы мүмкүн же болушу мүмкүн:


###############################################################################
# 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 эскертүүлөрү менен түзүү.

Бирок ар дайым ушул жана башка сунуштар бар экендигин унутпаңыз модуль, функция, өзгөрүлмө, буйрук же аракет жалпысынан ал ишке ашырылышы мүмкүн көп жолдор, жана бул жерде көрсөтүлгөн нерсе бирөө гана жөнөкөй жол, ныкы көптөгөн мүмкүн жана ыктымалдуу жолдор анда айтылган иш-аракет жүзөгө ашырылышы мүмкүн же болушу мүмкүн!

Аягына чейин мен сени таштап кетем, а Мен жасаган скринкаст, муну бүткөндөн кийин, сиз эмнеге жөндөмдүү экениңизди көрсөтүү үчүн Shell Scripting онлайн курсу DesdeLinux:

LPI-SB8 Test ScreenCast

(LINUX POST ОРНОТУУ - 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.   Инг. Хосе Альберт ал мындай деди:

    Мен буга чейин көрүп, жүктөп ал! Коддорду текшериңиз, түзүмүн изилдеп, орнотууга аракет кылыңыз, бирок мага ката кетти.

    Бирок мен ойлойм, анткени жаңылбасам, ал көптөн бери жаратылып келе жатат жана дагы деле болсо айрым параметрлерди кол менен жөндөш керек, бирок кыскача айтканда, идея мен үчүн эң сонун көрүнөт. Эгерде мен туура түшүнгөн болсом, колдонуучуга ылайыкташтырылган сценарийдин ичинде алдын-ала аныкталган модулдарды кантип автоматташтыруу керек. Бул мен сунуштап жаткан нерсени автоматташтыруу жана кол менен түшүндүрүп берүү сыяктуу!

    Туура же туура эмес! Кандай болсо дагы, өзүңүз жөнүндө бир аз айтып берсеңиз же ал жөнүндө бир нерсе киргизсеңиз!

bool(чын)