อย่างที่เรามีอยู่แล้ว ได้เห็นและเรียนรู้ ก่อนหน้านี้ ตั๋ว เราจะสร้างชิ้นส่วนอย่างไร ชื่อย่อ (บน) ในสคริปต์ของเรานั่นคือ Shebang และ BSM (Bash Strict Mode)
ในโพสต์นี้เราจะดำเนินการต่อเพื่อจดจำพวกเขาโดยไม่ต้องอธิบายพวกเขาเนื่องจากฉันจะวางไว้ในไฟล์ โปรแกรม (แอปพลิเคชัน) ข้อเท็จจริงในก เชลล์สคริปต์ ที่เรียกว่า การติดตั้ง Linux Post - สคริปต์สองร้อยปี 8.0:
#!/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สิ่งที่คุณควรแทรกลงในไฟล์ เชลล์สคริปต์ เป็นโมดูลที่ตรวจสอบว่ามีเพียง superuser root เท่านั้นที่สามารถรันได้ นี้และอื่น ๆ โมดูลฟังก์ชันตัวแปรคำสั่งหรือการกระทำ โดยทั่วไปสามารถทำได้ หลายวิธีดังนั้นสิ่งที่คุณจะเห็นต่อไปคือไฟล์ วิธีง่ายๆของ หลายวิธีที่เป็นไปได้และเป็นไปได้ ซึ่งกล่าวว่า การดำเนินการสามารถดำเนินการได้:
###############################################################################
# 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
###############################################################################
ต่อไปในโพสต์ในอนาคตเราจะเห็นสิ่งอื่น ๆ อีกมากมายวิธีการสร้าง โมดูล (ส่วน) ที่ทำหน้าที่เช่น:
- โมดูลตัวแปรสภาพแวดล้อมแบบสคริปต์
- DOUBLE EXECUTION DETECTION MODULE หรือ FAILED EXECUTION
- โมดูลการเพิ่มประสิทธิภาพ
- โมดูลการอนุญาตของผู้ใช้ด้วยรหัสผ่าน
- โมดูลการตรวจจับสถาปัตยกรรมของระบบปฏิบัติการ
- โมดูลการกำหนดค่าภาษาการเข้ารหัส
- โมดูลการกำหนดค่าพร็อกซีสำหรับสภาพแวดล้อมการดำเนินการ
ท่ามกลางคนอื่น ๆ อีกมากมายและเรียนรู้การใช้ไฟล์ คำสั่ง gksu, โต้ตอบ, gxmessage, zenity, espeak, playและอื่น ๆ อีกมากมาย เพื่อสร้างอินเทอร์เฟซแบบกราฟิกโดย Terminal หรือสำหรับเดสก์ท็อปของผู้ใช้พร้อมการแจ้งเตือนด้วยเสียงหรือมัลติมีเดีย
แต่โปรดจำไว้เสมอว่าสิ่งเหล่านี้และคำแนะนำอื่น ๆ สำหรับบางส่วน โมดูลฟังก์ชันตัวแปรคำสั่งหรือการกระทำ โดยทั่วไปสามารถทำได้ หลายวิธีและสิ่งที่แสดงต่อไปนี้ไม่มีอะไรมากไปกว่าไฟล์ วิธีง่ายๆของ หลายวิธีที่เป็นไปได้และเป็นไปได้ ซึ่งกล่าวว่า การดำเนินการสามารถดำเนินการได้!
เพียงเพื่อจบฉันปล่อยให้คุณ Screencast สร้างโดยฉันเพื่อแสดงให้คุณเห็นว่าคุณสามารถทำอะไรได้บ้างหลังจากทำสิ่งนี้เสร็จ หลักสูตรออนไลน์ Shell Scripting ใน DesdeLinux:
(LINUX POST INSTALL - SCRIPT BICENTENARIO 8.0.0) - ส่วนที่ 2
ฉันขอเชิญคุณมาดูและทำงานร่วมกันในโครงการ BashX (https://github.com/reduardo7/bashx) Bash Framework 100% ซึ่งคุณสามารถสร้างแอปพลิเคชันได้อย่างง่ายดายและชัดเจน ฉันหวังว่ามันจะเป็นประโยชน์กับคุณ!
เห็นแล้วดาวน์โหลดเลย! ตรวจสอบรหัสสำรวจโครงสร้างและพยายามติดตั้ง แต่เกิดข้อผิดพลาด
แต่ฉันคิดว่าเพราะถ้าฉันจำไม่ผิดมันถูกสร้างขึ้นมาเป็นเวลานานและยังคงต้องปรับพารามิเตอร์บางอย่างด้วยตนเอง แต่โดยสรุปแล้วความคิดนี้ดูเหมือนดีสำหรับฉัน ถ้าฉันเข้าใจอย่างถูกต้องวิธีการแทรกโมดูลที่กำหนดไว้ล่วงหน้าโดยอัตโนมัติเพื่อให้เหมาะกับผู้ใช้ภายในสคริปต์ มันเหมือนกับการทำสิ่งที่ฉันแนะนำและอธิบายด้วยมือโดยอัตโนมัติ!
ถูกหรือผิด! ยังไงก็ตามบอกเราหน่อยเกี่ยวกับเรื่องนี้หรือให้ใครเข้ามา!