Bedste fremgangsmåder til oprettelse af et Shell-script i GNU / Linux - del 2

Først og fremmest anbefaler jeg, at du læser denne, før du læser denne publikation del I af den nævnte publikation, kaldet «Bedste fremgangsmåder til oprettelse af et Shell Script i GNU / Linux".

Shell Scripting

Dernæst en lille resumé af det vigtigste af lykke forrige post:

A) Den ideelle Shebang det skal skrives som følger:

#! / usr / bin / env bash.

Bemærk: Udskiftning af ordet bash af skallen efter eget valg.

B) For at opnå en fremragende STRICT eller SAFE BASH MODE (Bash Strict Mode / BSM) tilbyder vi følgende alternativer:

B.1) Konfiguration af debugging-sektionen:

  1. sæt -o errexit
  2. sæt -o substantivsæt
  3. sæt -o pipefail
  4. # sæt -o xtrace

Imidlertid foreslår vi i denne nye post for at minimere kodelinjerne følgende BASH STRICT eller SAFE MODE (Bash Strict Mode / BSM):

set -eou pipefail

Med denne BSM vi opnår nøjagtigt det samme som med de foregående 3 linjer.

Min personlige anbefaling er: Når dit Shell Script er bygget, skal du tilføje BSM-linjerne for at begynde at debugge og perfektionere dit script og gøre det yderst funktionelt. Når du vil, tilføj sagde BSM muligheden (-x) for at opnå den samme effekt som når du aktiverer linjen: sæt -o xtrace, i ovenstående metode, det vil sige din linje af BSM det skal se sådan ud:

set -eoux pipefail

B.2) Konfiguration af outputafsnittet for de konfigurerede variabler:

IFS=$'\n\t'

Ved at tilføje denne linje fortsætter vi med at omkonfigurere variablen Intern feltseparator og opnå en bedre visualisering og / eller optagelse af ord (felter) i en tegnstreng. Aktivér det eller ej, alt efter dine krav og behov.

Med disse typiske indstillinger:


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

Outputene af variablerne opnås på følgende måde:


a
b
c
a b c

Med standard- og anbefalede indstillinger:


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

Outputene af variablerne opnås på følgende måde:


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) Konfigurationsafsnit for standardkonfigurationen af ​​udførelsesterminalen:

setterm --reset

Ved at tilføje denne linje fortsætter vi med at nulstille hele sessionen og udførelsesparametrene for terminalen, hvor brugen af Shell-script henrettet. Aktivér det eller ej, alt efter dine krav og behov.

Med dette vil vi have en BSM meget nyttigt og effektivt at have en fremragende Shell-script.

Endelig vil vi undersøge, hvad dette Shell Script skal have nedenfor:

  • Et informativt afsnit om skaberen og programmet:

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

  • Et informativt afsnit om licensering af programmet:

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

Jeg håber, at med denne anden del af "Bedste fremgangsmåder til oprettelse af et Shell-script i GNU / Linux" er nok til, at de kan fokusere grundigt på hvert lille aspekt af det og årsagen til mange ting, når de opretter en Shell-scriptdet vil sige, jeg håber, at nogle af disse tip vil hjælpe dig, når det kommer til at blive bedre Shell-script, men ikke så meget for dig selv, men for dem brugere o sysadmin du er nødt til at styre dem. Så du ikke behøver at gennemgå en kedelig og vanskelig opgave de find ud af, hvad de kodede, hvordan og hvorfor, og hvorfor det ikke længere fungerer.

Indtil de næste indlæg på Shell Scripting!


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.