Best Practices zum Erstellen eines Shell-Skripts in GNU / Linux - Teil 2

Bevor Sie diese Veröffentlichung lesen, empfehle ich Ihnen zunächst, die Teil I dieser Veröffentlichung genannt «Best Practices zum Erstellen eines Shell-Skripts in GNU / Linux«.

Shell Scripting

Als nächstes eine kleine Lebenslauf vom wichtigsten des Glücks vorheriger Eintrag:

A) Der ideale Shebang es sollte wie folgt geschrieben werden:

#! / usr / bin / env bash.

Hinweis: Das Wort ersetzen bash von der Hülle Ihrer Wahl.

B) Um eine hervorragende zu erreichen STRICT oder SAFE BASH MODE (Bash Strict Mode / BSM) bieten wir folgende Alternativen an:

B.1) Konfiguration des Debugging-Abschnitts:

  1. setze -o errexit
  2. setze -o Nomenmenge
  3. setze -o Pipefail
  4. # setze -o xtrace

In diesem neuen Eintrag empfehlen wir jedoch Folgendes, um die Codezeilen zu minimieren BASH STRICT oder SAFE MODE (Bash Strict Mode / BSM):

set -eou pipefail

Mit dieser BSM Wir erreichen genau das gleiche wie mit den vorherigen 3 Zeilen.

Meine persönliche Empfehlung lautet: Fügen Sie nach dem Erstellen Ihres Shell-Skripts die BSM-Zeile (n) hinzu, um mit dem Debuggen und Perfektionieren Ihres Skripts zu beginnen und es hochfunktional zu machen. Wenn Sie möchten, fügen Sie sagte BSM die Option (-X) So erzielen Sie den gleichen Effekt wie beim Aktivieren der Leitung: setze -o xtrace, in der obigen Methode, das heißt, Ihre Linie von BSM es sollte so aussehen:

set -eoux pipefail

B.2) Konfiguration des Ausgabeabschnitts der konfigurierten Variablen:

IFS=$'\n\t'

Wenn wir diese Zeile hinzufügen, konfigurieren wir die Variable neu Interner Feldtrenner und eine bessere Visualisierung und / oder Erfassung der Wörter (Felder) einer Zeichenkette erreichen. Aktivieren Sie es oder nicht, je nach Ihren Anforderungen und Bedürfnissen.

Mit diesen typischen Einstellungen:


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

Die Ausgaben der Variablen würden auf folgende Weise erhalten:


a
b
c
a b c

Mit den Standardeinstellungen und empfohlenen Einstellungen:


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

Die Ausgaben der Variablen würden auf folgende Weise erhalten:


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) Konfiguration Abschnitt der Standardkonfiguration des Ausführungsterminals:

setterm --reset

Durch Hinzufügen dieser Zeile setzen wir die gesamte Sitzung und die Ausführungsparameter des Terminals, in dem die Verwendung von verwendet wird, vollständig zurück Shell-Skript hingerichtet. Aktivieren Sie es oder nicht, je nach Ihren Anforderungen und Bedürfnissen.

Damit haben wir eine BSM sehr nützlich und effizient, um eine ausgezeichnete zu haben Shell-Skript.

Abschließend werden wir untersuchen, was dieses Shell-Skript unten haben sollte:

  • Ein informativer Abschnitt über den Schöpfer und das Programm:

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

  • Ein informativer Abschnitt zur Lizenzierung des Programms:

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

Ich hoffe, dass mit diesem zweiten Teil der "Best Practices zum Erstellen eines Shell-Skripts in GNU / Linux" ist genug für sie, um sich gründlich auf jeden kleinen Aspekt davon und den Grund für viele Dinge bei der Erstellung eines konzentrieren zu können Shell-SkriptDas heißt, ich hoffe, dass einige dieser Tipps Ihnen helfen werden, wenn es darum geht, besser zu werden Shell-Skript, aber nicht so sehr für dich selbst, sondern für diese Usuarios o Sysadmin du musst sie verwalten. Damit Sie nicht durch a gehen müssen mühsame und schwierige Aufgabe de Finden Sie heraus, was sie codiert haben, wie und warum und warum es nicht mehr funktioniert.

Bis zu den nächsten Beiträgen zu Shell Scripting!


Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.