שיטות עבודה מומלצות ליצירת סקריפט של מעטפת ב- GNU / Linux - חלק 2

קודם כל, לפני קריאת פרסום זה, אני ממליץ לך לקרוא את חלק I של הפרסום האמור, נקרא «שיטות עבודה מומלצות ליצירת סקריפט של מעטפת ב- GNU / Linux".

מעטפת Scripting

הבא, קטן סיכום מהחשובים ביותר באושר ערך קודם:

א) שבנג האידיאלי זה צריך להיות כתוב כדלקמן:

#! / usr / bin / env bash.

הערה: החלפת המילה לחבוט לפי הקליפה שבחרת.

B) כדי להשיג מצוין מצב BASH STRICT או SAFE בטוח (Bash Strict Mode / BSM) אנו מציעים את החלופות הבאות:

B.1) תצורה של מדור איתור באגים:

  1. set -o מורם
  2. סט -ו ערכת שמות עצם
  3. set -o pipefail
  4. # set -o xtrace

עם זאת, בערך חדש זה אנו מציעים על מנת למזער את שורות הקוד את הדברים הבאים BASH STRICT או SAFE MODE (Bash Strict Mode / BSM):

set -eou pipefail

עם זה BSM אנו משיגים בדיוק את אותו הדבר כמו עם שלוש השורות הקודמות.

ההמלצה האישית שלי היא: לאחר בניית סקריפט המעטפת שלך, הוסף את שורות BSM כדי להתחיל באגים ולשכלל את הסקריפט שלך ולהפוך אותו לפונקציונלי ביותר. כשתרצה, הוסף אמר BSM את האופציה (-איקס) כדי להשיג את אותו האפקט כמו כאשר אתה מפעיל את הקו: set -o xtrace, בשיטה שלעיל, כלומר השורה שלך BSM זה צריך להיראות כך:

set -eoux pipefail

B.2) תצורה של קטע הפלט של המשתנים שהוגדרו:

IFS=$'\n\t'

הוספת שורה זו נמשיך לתצורה מחדש של המשתנה מפריד שדה פנימי ולהשיג חזותית טובה יותר ו / או לכידה של המילים (שדות) של מחרוזת תווים. אפשר את זה או לא, על פי הדרישות והצרכים שלך.

עם הגדרות אופייניות אלה:


    #!/bin/bash
    IFS=$' '
    items="a b c"
    for x in $items; do
        echo "$x"
    done

    IFS=$'\n'
    for y in $items; do
        echo "$y"
    done

תפוקות המשתנים יתקבלו בדרך הבאה:


a
b
c
a b c

עם הגדרות ברירת המחדל והמומלצות:


    #!/bin/bash
    names=(
      "Aaron Maxwell"
      "Wayne Gretzky"
      "David Beckham"
      "Anderson da Silva"
    )

    echo "Con el valor por defecto de la variable IFS..."
    for name in ${names[@]}; do
      echo "$name"
    done

    echo ""
    echo "Con el Modo BSM para el valor de la variable IFS activado..."
    IFS=$'\n\t'
    for name in ${names[@]}; do
      echo "$name"
    done

תפוקות המשתנים יתקבלו בדרך הבאה:


Con el valor por defecto de la variable IFS...
Aaron
Maxwell
Wayne
Gretzky
David
Beckham
Anderson
da
Silva

Con el Modo BSM para el valor de la variable IFS activado...
Aaron Maxwell
Wayne Gretzky
David Beckham
Anderson da Silva

B.3) סעיף תצורה בתצורת ברירת המחדל של מסוף הביצוע:

setterm --reset

על ידי הוספת שורה זו אנו ממשיכים לאפס לחלוטין את כל ההפעלה ואת פרמטרי הביצוע של המסוף שבו השימוש ב- תסריט מעטפת יצא לפועל. אפשר את זה או לא, על פי הדרישות והצרכים שלך.

עם זה יהיה לנו BSM מאוד יעיל ויעיל שיהיה מצוין תסריט מעטפת.

לבסוף, נבדוק מה צריך להיות של אותו סקריפט של Shell להלן:

  • קטע אינפורמטיבי על היוצר והתוכנית:

###########################################################
# SECCIÓN INFORMATIVA SOBRE EL CREADOR Y EL PROGRAMA
###########################################################

###########################################################
#                             MI PAÍS 
#
# NOMBRE: 
# VERSIÓN: 
# TIPO DE PROGRAMA:
# FUNCIÓN:
# NOMBRE CÓDIGO:
# PAÍS ORIGEN:
# CREADO POR:
# EMAIL:
# NOMBRE FACEBOOK:
# PAGINA PERSONAL FACEBOOK:
# COMUNIDAD FACEBOOK:
# TWITTER:
# TELÉFONO:
# PROMOCIONADO POR:
# PAGINA WEB DEL PROYECTO TIC - TAC:
# FECHA DE LANZAMIENTO DE LA PRIMERA VERSIÓN (1.0):
# FECHA DE LANZAMIENTO DE LA VERSIÓN ACTUAL (8.0+0):
# FECHA DE ULTIMA ACTUALIZACIÓN:
###########################################################

  • קטע אינפורמטיבי בנושא רישוי התוכנית:

###########################################################
# SECCIÓN INFORMATIVA SOBRE EL LICENCIAMIENTO DEL PROGRAMA
###########################################################

###########################################################
# NOMBRE DEL SCRIPT DE SHELL
###########################################################
#
# Derechos de autor:
# Copyleft (C) Año - Creador
# 
# Licenciamiento:
#
# El NOMBRE DEL SCRIPT DE SHELL no viene con ninguna garantía. El 
# Autor no se hace responsable si se al aplicarse el S.O., se
# corrompe, daña o inutiliza.
#
# El NOMBRE DEL SCRIPT DE SHELL 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, o sea, la versión 3
# ó versión posterior, según sea 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 Publica General 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 él, deberá siempre mencionar al
# autor original de la misma:
#
# Desarrollador : 
# Nick          : 
# Twitter       : 
# Facebook      : 
# Telegram      : 
# Canal Telegram:
#
# Este SCRIPT tiene como propósito:
#
# 1.- PROPÓSITO 1: ABCDEFGHIJKLMNÑOPQRSTUVXYZ
#
# 2.- PROPÓSITO 2: ABCDEFGHIJKLMNÑOPQRSTUVXYZ
#
############################################################
# NOMBRE DEL SCRIPT DE SHELL
############################################################

אני מקווה שעם החלק השני הזה של "שיטות מומלצות ליצירת סקריפט של מעטפת ב- GNU / Linux" מספיק להם כדי להתמקד ביסודיות בכל היבט קטן בו ובסיבה לדברים רבים בעת יצירת א תסריט מעטפתכלומר, אני מקווה שכמה מהטיפים האלה יעזרו לך בכל מה שקשור להיטיב תסריט מעטפת, אבל לא כל כך בשביל עצמך, אלא עבור אלה משתמשים o סיסדמין אתה צריך לנהל אותם. כדי שלא תצטרך לעבור א משימה מייגעת וקשה de גלה מה הם קידדו, איך ומדוע ומדוע זה כבר לא עובד.

עד לפוסטים הבאים על Scripting של Shell!


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.