أفضل الممارسات لإنشاء برنامج شل سكريبت في جنو / لينكس - الجزء الأول

بادئ ذي بدء ، قبل قراءة هذا المنشور ، أوصيك بقراءة الجزء الأول من المنشور المذكور ، يسمى «أفضل الممارسات لإنشاء Shell Script في GNU / Linux".

برمجة شل

بعد ذلك ، ملف صغير ملخص من أهم السعادة الإدخال السابق:

أ) شيبانج المثالي يجب أن يكتب على النحو التالي:

#! / usr / bin / env bash.

ملاحظة: استبدال كلمة سحق بالصدفة التي تختارها.

B) لتحقيق امتياز وضع Bash الصارم أو الآمن (وضع Bash Strict / BSM) نقدم البدائل التالية:

ب 1) تكوين قسم التصحيح:

  1. مجموعة -o errexit
  2. مجموعة -o nounset
  3. مجموعة -o pipefail
  4. # مجموعة -o xtrace

ومع ذلك ، في هذا الإدخال الجديد نقترح ما يلي لتقليل سطور التعليمات البرمجية وضع BASH STRICT أو SAFE MODE (وضع Bash Strict / BSM):

set -eou pipefail

مع هذا BSM نحقق نفس الشيء تمامًا كما في الأسطر الثلاثة السابقة.

توصيتي الشخصية هي: بمجرد إنشاء Shell Script ، أضف سطر (خطوط) BSM لبدء تصحيح الأخطاء وإتقان البرنامج النصي الخاص بك وجعله يعمل بشكل كبير. عندما تريد ، أضف قال BSM الخيار (-س) لتحقيق نفس التأثير عند تمكين الخط: مجموعة -o xtrace، بالطريقة المذكورة أعلاه ، أي خطك من BSM يجب أن تبدو هذه:

set -eoux pipefail

ب 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

ب .3) قسم التكوين للتهيئة الافتراضية لجهاز التنفيذ:

setterm --reset

من خلال إضافة هذا السطر ، ننتقل إلى إعادة تعيين الجلسة بالكامل ومعلمات التنفيذ الخاصة بالمحطة حيث يتم استخدام ملف شيل أعدم. قم بتمكينها أم لا حسب متطلباتك واحتياجاتك.

مع هذا سيكون لدينا BSM مفيدة للغاية وفعالة للحصول على ملف ممتاز شيل.

أخيرًا ، سوف نستكشف ما يجب أن يحتوي عليه برنامج Shell Script أدناه:

  • قسم تعريفي عن الخالق والبرنامج:

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

آمل أن يكون هذا مع الجزء الثاني من "أفضل الممارسات لإنشاء برنامج Shell Script في GNU / Linux" يكفيهم ليكونوا قادرين على التركيز بدقة على كل جانب صغير منه والسبب في العديد من الأشياء عند إنشاء ملف شيلأي ، آمل أن تساعدك بعض هذه النصائح عندما يتعلق الأمر بالتحسين شيل، ولكن ليس كثيرًا لنفسك ، ولكن من أجل هؤلاء المستخدمين o مسؤول النظام عليك أن تديرها. حتى لا تضطر إلى المرور عبر أ مهمة شاقة وصعبة de اكتشف ما قاموا بترميزه وكيف ولماذا ولماذا لم يعد يعمل.

حتى المشاركات القادمة على Shell Scripting!


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: ميغيل أنخيل جاتون
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.